Web Artisan Blog - ウェブ アルチザン ブログ

PHPでは変数宣言時のデータ型宣言は必要ないですよ

PHP

2004年06月28日

PHPは、
変数定義時に明示的な型定義を必要としない(サポートしない)そうです。
ある変数の型は、その変数が使用される処理によって定義される事になります。
これは、ある文字列を変数varAに代入した場合には、
varAは文字列になることを意味しています。
ある整数値をvarAに代入した場合には、その変数は整数になります


※ちなみにこれって、ASPと同じですね


1 Comment  0 Trackback  Permalink

PHP、if文のTRUE・FALSEの解釈(booleanへの自動変換)

PHP

2004年06月28日

booleanへの変換には、キャスト (明示的に変換)を使用するが、
演算子、関数、制御構造がboolean 型の引数を必要とする場合には、
値は自動的に変換されるため、多くの場合、キャストは不要である。

(例)
booleanに変換する場合、次の値はFALSEとみなさる。

・booleanの FALSE

・integerの 0

・floatの 0.0

・空の文字列、 および文字列の "0"

・ゼロを要素とする配列

・ゼロを要素とするオブジェ クト

・NULL

その他の値は全てTRUEとみなされる。


(処理例)

if ($blog) {
〜〜 $blogに値が入っている場合 〜〜
}
else {
〜〜 $blogに""、NULLが入っている場合 〜〜
}



>続きを読む・・・PHP、if文のTRUE・FALSEの解釈(booleanへの自動変換)
0 Comment  0 Trackback  Permalink

PHP:変数アドレスの参照(参照による値の代入)

PHP

2004年06月28日

PHP4より、変数に値を代入する際の方法として、「参照による代入」がある。

これを使用した場合、新規の変数は元の変数を参照するだけである。
新規の変数への代入は、元の変数に影響し、その逆も同様となる。
特にループ処理等、重い処理上の変数代入処理に関しては、
この方法を使う事でパフォーマンスが上がる。

(例)

変数B = &変数A
(変数B =& 変数A)

※変数Bは変数Aのエイリアスのように機能するだけで、変数Bのための新たなメモリは確保されない

(処理例)
$varA = 5;
$copy = $varA;
$varA = 10;
// $varAの値は10
// $copyの値は5のまま

// 参照による値の代入
$copy = &$varA;
// $copyの値は10

$varA = 30;
// $varAの値は30
// $copyの値も30に変更

// 下記では実際は$varAに40が代入される
$copy = 40;
// $copyの値は40
// $varAの値も40に変更


0 Comment  0 Trackback  Permalink

PHPの複合演算子

PHP

2004年06月28日

■加算 「+=」

(例)・・・・・・”$a += 10;”
(代入演算子では)”$a = $a + 10;”



■減算 「-=」

(例)・・・・・・”$a -= 10;”
(代入演算子では)”$a = $a - 10;”




■乗算 「*=」

(例)・・・・・・”$a *= 10;”
(代入演算子では)”$a = $a * 10;”



■除算 「/=」

(例)・・・・・・”$a /= 10;”
(代入演算子では)”$a = $a / 10;”



■剰余 「%=」

(例)・・・・・・”$a %= 10;”
(代入演算子では)”$a = $a % 10;”



■文字列結合 「.=」

(例)・・・・・・”$a .= 'abc';”
(代入演算子では)”$a = $a . 'abc';”


0 Comment  0 Trackback  Permalink

PHPの演算子”->”って何?

PHP

2004年06月17日

”アロー演算子”

C、C++、Perlのものと同じ。
これらの言語経験のない人間(VB、Javaは経験済→例えば私)が、
Nucleus解析した時に、最初にぶち当たる疑問。

一言で言えば、
「アロー演算子=オブジェクトのポインタを使用し、オブジェクトのメンバにアクセスする」

下に参考資料は転載するが、
Javaで言うと、”->”は”.”に置き換えて考えると解りやすい。


Nucleus解析で見ると、globalfunctions.php内の

514行目でDBからオブジェクトを取得し、
$obj = mysql_fetch_object($res);

521行目で取得項目を変数にセットしている部分
$blogid = $obj->iblog;

$blogid = $obj.iblog;



このように、”.”で置き換えて理解する。
>続きを読む・・・PHPの演算子”->”って何?
0 Comment  0 Trackback  Permalink