3_006-数値と文字列

PHPとPostgreSQLを利用したWEBシステムの開発例を掲載していきます。腕時計 販売サイト my-watch.biz

● 3_006-数値と文字列

 変数に格納された文字列と数値の振る舞いについて少し説明します。
 下記のコードを実行すると「1」が出力されます。これは前にしましたね。

<?php

/* このプログラムは演習用です。
コメントの練習です。    */

// ここから演習を開始します。
$name = 1;
print $name;
?>

 簡単な計算をします。下のコードの出力は「6」と出ます。

<?php

/* このプログラムは演習用です。
コメントの練習です。    */

// ここから演習を開始します。
$name = 2;
$name_2 = 3;

$name_all = $name * $name_2;

print $name_all;
?>

 では変数$name_2に「文字」を代入したらどうなるでしょう。「0」ですね、「文字」は数値の情報を持っていません。この場合文字列は0と解釈されたことになります。

<?php

/* このプログラムは演習用です。
コメントの練習です。    */

// ここから演習を開始します。
$name = 2;
$name_2 = '文字';

$name_all = $name * $name_2;

print $name_all;
?>


 では変数$nameに何も代入しないでいきなり計算に使ってみましょう。

 Notice: Undefined variable: name in C:\htdocs\enshu\index.php on line 18
 0


 上記のエラーは出ますが、「0」という値は出ました。環境がPHP4の場合はエラーは出ないかもしれません。
 変数nameが定義されていないという意味のエラーです。

<?php

/* このプログラムは演習用です。
コメントの練習です。    */

// ここから演習を開始します。
$name_2 = '文字';

$name_all = $name * $name_2;

print $name_all;
?>

 では変数$nameを定義しますが、中は「」空だとしましょう。
 エラーは出ずに、「0」と出たはずです。つまり、この場合変数nameに空の値が代入されましたが、計算をする時は数値的には「0」と同じである。ということです。

<?php

/* このプログラムは演習用です。
コメントの練習です。    */

// ここから演習を開始します。
$name = '';
$name_2 = '文字';

$name_all = $name * $name_2;

print $name_all;
?>

 今度は足し算をして確かめてみましょう。「2」と出たはずです。やはり空では0と解釈されます。

<?php

/* このプログラムは演習用です。
コメントの練習です。    */

// ここから演習を開始します。
$name = '';
$name_2 = 2;

$name_all = $name +$name_2;

print $name_all;
?>

 こういうところが、現実的な計算とは少し違うところです。

 何も無い、0、これは厳密に違いますがPHPではこういう振る舞いをする事を確認しておいて下さい。
 こういうコード書く事はまず無いですけど。

 正規マニュアルでは以下になります。
 第 11章型

戻る

Copyright (c) 2007 MSweb All Rights Reserved

腕時計 クロノグラフ(時計)のメンズ専門販売サイトカシオ G-SHOCK、Baby-G(腕時計)専門の通信販売サイトG-SHOCK、Baby-G専門通販サイト 運営ブログ

腕時計 女性専用 販売のladies-watch.biz腕時計 メンズ(男性)専門販売のmens-watch.biz