スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
以後の更新内容の改善のために、是非ともご評価のほどよろしくお願いします!→

「PHP」でのコメントの書き方

数行程度のプログラムを組むなら、全体を見渡して、内容を把握することは簡単です。


しかし、プログラムの規模が少し大きくなってしまうと、

あれっ、この変数は何に使ってたんだろう・・・?

という事故が発生することがよくあります。(←私だけ?)


そこで、プログラムを後から見直した時に、何をどういう風に処理していたのか
メモしておくことが重要だと思います。  それが『コメント』です。


PHPでも、コメントを入力することが出来ます。



記述形式はいくつかあります。
// 」  「 # 」  「 /* ? */
私が知っているものでは、上の3つです。


「//」と「#」は、その記号以降の文字をコメントとして扱います。
範囲としては、改行するまでです。(改行したらコメント終了)

「/* ? */」は、複数行に対応した形式です。
「/*」と「*/」で囲みます。 いくら改行しても構いません。


下をご覧ください。



上に挙げた例のように、コメントを入れることが出来ます。
コメントとして入力した内容は、プログラム上では何の影響もありませんから、
変数を初期化するような文をコメントに入力しても、実際には影響はありません。
(※プログラム実行時には無視されることになります。)





聞く話によると、「#」で記述することは少ないらしいです。
「//」の方が多いらしいのですが・・・   私は「#」を多用しています。(汗)


どうやら、C言語のコメントが、「//」と「/* ? */」のようですね。
そういう意味では、「//」に統一した方が良いかも・・・



それでも私は「#」を使います。(←えっ?!)
だって、「#」の方が、見た目の密度が高くてわかりやすいじゃないですか・・・

まぁ、各々好きな方を使えば良いということにしておきましょう。


(※コメント用の記号の直後に、スペースを入れなくても構いません。)
スポンサーサイト
以後の更新内容の改善のために、是非ともご評価のほどよろしくお願いします!→

テーマ : PHP /  ジャンル : コンピュータ

「++」インクリメント と 「--」デクリメント ?前に付けるか後ろに付けるか? 【PHP】

プログラミングで、数値系の変数に「1」を足すときに、
  『 $int = $int + 1; 』
としてやれば可能ですが、正直、面倒ですよね。


なので、そういうときは、
  ?『 $int++; 』
  ?『 ++$int; 』
?や?のように記述すれば、その変数に「1」を加算してくれますよね。

人によって?を使う人や?を使う人がいるようですが、
この二つの記述方法に違いはあるのでしょうか?


結論から言えば、違います。


 『何を言うんだ。どちらも「1」を足すだけじゃないか!』

って言われるかもしれませんが、一応、機能的にハッキリとした違いがあるのです。



早速、検証してみましょう。



上の例の2行目で、変数$intに整数型の「100」を代入しています。

3行目(?)では、$intをそのまま出力し、『? 100』と表示します。
4行目(?)では、$intをインクリメント(1を足す)して表示します。『? 101』と出ます。
5行目(?)でも、$intをインクリメントして、「102」になっている・・・ と思いきや、
なんと、『? 101』と表示しています。

  『あれっ、1を足してるのに、何故「102」と表示されないの?』

となります。 とりあえず次の行を見ましょう。
6行目(?)では、$intをそのまま表示しています。すると、なんと『? 102』と出ました。



結局、こういうことです。
「++$int」は、すぐに1を足して、足した後に表示します。
「$int++」は、表示してから、1を足します。

ちなみに、この性質はデクリメント「--」の場合でも同じです。



これを知らないままプログラムを組むと、予想外の挙動を示すことがあります。
例えば、下のように・・・



【1】の方では、「++$cnt」としています。
【2】は、「$cnt++」となっています。  違いはそこだけです。
しかし、結果は微妙に違います。
【1】では、1?10までの整数が並んでいるのに対し、
【2】では、0?9までの整数が並んでいます。

このように、外見は似ていても、プログラム内では大きな影響を及ぼしかねません。





これらの「インクリメント」、「デクリメント」を利用する際には、
どちらの記述形式の方が正しいのか、はたまた、どちらでも良いのかを
しっかりと判断することが大切だと思います。(←偉そうに・・・^^;)
以後の更新内容の改善のために、是非ともご評価のほどよろしくお願いします!→

テーマ : PHP /  ジャンル : コンピュータ

「==」と「===」の違い ?条件式でデータ型を考慮するか否か? 【PHP】

PHPで条件式を記述する際に、等号「=」を使うことはよくあります。

その場合の比較演算子「==」と「===」の違いについて書き下ろしてみます。



結論から言うと、

 「==」 は、データ型を考慮しない。     そして・・・
 「===」 は、データ型を考慮する。      ということです。



知らない人にこんな説明をしても意味不明だと思うので、実験してみましょう。



2行目で$intに整数型として「1」を代入しています。

3行目のif構文では、$intが整数型の「1」かどうかを判断しています。
結果、$intの値は整数型の「1」なので、『$intは、整数型の1である。』と表示しています。
4行目のif構文では、論理型の「True」なのかを判断しています。
そうすると、$intは整数型なので条件式にあてはまりません。→何も表示しません。

(※6行目は、見やすくするための改行を入れる処理です。無視してください。)

8行目では、$intが「1」かどうか判断しますが、データ型は関係ありません。
$intは「1」なので、条件式は真を返して、『$intは、1である。』と表示します。
9行目は、$intが「True」かどうか判断していますが、データ型は無視します。
すると、$intは「1」なのに、条件式は真を返し、『$intは、Trueである。』と表示します。



0、False、Null、""、"0"・・・  少なくともこれら5つは、Falseと同等です。
それ以外はTrueで良いと思います。(←でたらめ)





結論、私には上手く説明できなかったというわけです・・・(汗)

PHPプロ!」というサイトのコチラのページ↓
http://www.phppro.jp/phptips/archives/vol37/
をご覧ください。(直リンク良いのかな・・・・・?)
以後の更新内容の改善のために、是非ともご評価のほどよろしくお願いします!→

テーマ : PHP /  ジャンル : コンピュータ

PHPでの変数代入 ?文字列としての数字と数値としての数字?

PHP以外の言語でもそうだと思いますが、

変数には、データ型があります。



文字列型(String)・整数型(Integer)・浮動小数点型(Float)・論理型(Boolean)
オブジェクト型(Object)・リソース型(Resource)

こんなもんでしょうか・・・。


今回のお話は、「文字列型」と「数値(整数・浮動小数点型)」の関連です。

-----------------------------------------------------------------
変数に数字を代入するときのことです。

$var1 = "12345";
$var2 = 12345;
$var3 = "123.45";
$var4 = 123.45;

上で、4つの変数を定義しました。
どちらも数字が入っていますが、これらの変数のデータ型はどうなっているのでしょう。



$var1 は、文字列型としての「12345」で、
$var2 は、整数型としての「12345」のようです。
$var3 は、文字列型としての「123.45」で、
$var4 は、浮動小数点型の「123.45」になっています。


私の感覚としてはほとんど同じだったんですけどねぇ?(^ ^;)

良い勉強になりました?。   以上。(?!)
以後の更新内容の改善のために、是非ともご評価のほどよろしくお願いします!→

テーマ : PHP /  ジャンル : コンピュータ

PHPの『 print 』と『echo』の違い。

PHPで文字列等を出力するコマンドにはいろいろあると思いますが、
その中でも特によく使うのは『 print 』または『 echo 』だと思います。

この『 print 』と『 echo 』ですが、マニュアルによれば「関数」ではないそうです。
(※だから、「( )」で囲まなくても使うことが出来るらしいのです。)

何にしろ、文字列や数値などを画面に出力することに違いはありません。

個人的には『 print 』の方が、画面に何かを表示(出力)するというイメージがあり、
一番よく使います。

一方、『 echo 』はあまり使う気になれません。 特に理由はありませんけどね(^ ^;)


結局のところ、普段使うときには何の区別もなく使用するようで、
人の好みによって使い分けられているような気がします。


でも、せっかく二つあるんだから何か違いがあるはずだ! と思い調べたことがあります。

その時、調べた先に載っていたのは「戻り値」に関する内容でした。



PHPマニュアルの『 print 』 と PHPマニュアルの『 echo 』 の記述を見比べると、
確かに、『戻り値』が違います。

戻り値(返り値)とは、関数等を使用(評価)した際に返される値、つまり処理の結果です。
ここに違いがあったのです。



上で示したとおり、『 print 』の戻り値は、数値(integer)の「1」です。
対して、『 echo 』に戻り値は無く、エラーが出てしまいます。

その他にも、echoにはいろいろ制限があるようです。(PHPマニュアルより)

『 echo 』に関して、何故上の例でエラーが出るのかイマイチわかりませんが、
一応、2行目の『 print 』に関して説明を入れておきます。

まず、()内の『 print 』が評価され、画面に「【テストA】 」という文字列を出力します。
次に、『 print 』の戻り値である、数値の「1」を『 var_dump( ) 』が評価されます。




結論、初心者には『 print 』の方が良さそうですね。
いろいろ柔軟に対応してくれますから。

それにしても、『 echo 』にあれほど制限があるとは思いませんでした。

よほどのこだわりが無い限り、『 print 』を使っておけば間違いは少ないでしょうね。



以上、『 print 』 と 『 echo 』 の違いについて   ・・・でしたm(_ _;)m
以後の更新内容の改善のために、是非ともご評価のほどよろしくお願いします!→

テーマ : PHP /  ジャンル : コンピュータ

カテゴリー
ようこそ!
Author: Torasuke
Profile: 地元大学の情報系学部に息をひそめる二回生。
   SA SW


ブログ内検索
最近のコメント
オススメ
京都の大学生のラボブログ
Python,Java,Objective-C,GAE,Macなど
Python独習中の大学生のブログ


ltzz.info
ここの管理者さんには謁見済み!(えっ

 Use OpenOffice.org
無補償でも良いなら、MSOfficeよりOpenOfficeで十分です。

Mozilla Firefox ブラウザ無料ダウンロード
当サイトは、Firefoxというブラウザで動作確認しています。私は以前、IE派でしたが、一度乗り換えて慣れてしまうと、Firefoxのほうが便利だということを実感しました。

是非よろしくお願いします。
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。