PHPでは変数宣言時のデータ型宣言は必要ないですよ
PHP
2004年06月28日
変数定義時に明示的な型定義を必要としない(サポートしない)そうです。
ある変数の型は、その変数が使用される処理によって定義される事になります。
これは、ある文字列を変数varAに代入した場合には、
varAは文字列になることを意味しています。
ある整数値をvarAに代入した場合には、その変数は整数になります
※ちなみにこれって、ASPと同じですね
PHP、if文のTRUE・FALSEの解釈(booleanへの自動変換)
PHP
2004年06月28日
演算子、関数、制御構造がboolean 型の引数を必要とする場合には、
値は自動的に変換されるため、多くの場合、キャストは不要である。
(例)
booleanに変換する場合、次の値はFALSEとみなさる。
・booleanの FALSE
・integerの 0
・floatの 0.0
・空の文字列、 および文字列の "0"
・ゼロを要素とする配列
・ゼロを要素とするオブジェ クト
・NULL
その他の値は全てTRUEとみなされる。
(処理例)
if ($blog) {
〜〜 $blogに値が入っている場合 〜〜
}
else {
〜〜 $blogに""、NULLが入っている場合 〜〜
}
>続きを読む・・・PHP、if文のTRUE・FALSEの解釈(booleanへの自動変換)
PHP:変数アドレスの参照(参照による値の代入)
PHP
2004年06月28日
これを使用した場合、新規の変数は元の変数を参照するだけである。
新規の変数への代入は、元の変数に影響し、その逆も同様となる。
特にループ処理等、重い処理上の変数代入処理に関しては、
この方法を使う事でパフォーマンスが上がる。
(例)
変数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に変更
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';”
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の演算子”->”って何?