/virtual/uft/public_html/unlimited-fairytales.com/PhpSamples/Php01/php01-syntax01-statements.php
1. 変数、配列、可変変数、定数
string(3) "dic"
array(3) {
["foo"]=>
string(5) "Alice"
["bar"]=>
string(3) "Bob"
["baz"]=>
string(5) "Carol"
}
array(3) {
["foo"]=>
string(5) "Alice"
["bar"]=>
string(3) "Bob"
["baz"]=>
string(5) "Carol"
}
string(28) "定数には$は付けない"
2. 文字列リテラル3種
'は変数展開しない:{$val}
"は変数展開される:変数の中身
これはヒアドキュメントです
お作法として、ヒアドキュメントIDは必ず'か"で囲んだほうが分かりやすいです。:変数の中身
3. 厳密な比較演算
string(1) "2"
int(2)
bool(true)
bool(false)
4. 制御文
ifブロックに来ました。
elseブロックに来ました。
count up!
count up!
count up!
count up!
count up!
key=foo, val=Alice
key=bar, val=Bob
key=baz, val=Carol
5. 関数、配列、インスタンス
配列は各要素で比較される(初期状態と最終状態の$ary1 === $ary3 が true)
配列からオブジェクトへのキャストは生成される($obj1 === $obj2 が false)
最初の状態
$ary1 === $ary2 : bool(true)
$ary1 === $ary3 : bool(true)
$ary1 === $obj1 : bool(false)
$obj1 === $obj2 : bool(false)
$obj1 === $obj3 : bool(true)
ary1, obj1 にkey3を追加
$ary1 === $ary2 : bool(false)
$ary1 === $ary3 : bool(false)
$ary1 === $obj1 : bool(false)
$obj1 === $obj2 : bool(false)
$obj1 === $obj3 : bool(true)
ary3 にkey3を追加
$ary1 === $ary2 : bool(false)
$ary1 === $ary3 : bool(true)
$ary1 === $obj1 : bool(false)
$obj1 === $obj2 : bool(false)
$obj1 === $obj3 : bool(true)
6. 主な配列操作
array(3) {
["foo"]=>
string(5) "Alice"
["bar"]=>
string(3) "Bob"
["baz"]=>
string(5) "Carol"
}
in_array("Alice", $dic) : 1
array_key_exists("baz", $dic) : 1
count($dic) : 3