1. 定数問題を定義する
define('DATABASE', 'MYSQL');
define('DATABASE_USER', 'ROOT');define('DATABASE_PASSWORD', 'PASSWORD');
?>
「MYSQL」を表す「DATABASE」定数を直接使用します。
$arr = array('フルーツ'=>'リンゴ','野菜'=>'ニンジン');
定義('果物','野菜');
print $arr['fruit'] // apple
;
print $arr[fruit] // ニンジン;
PHP はキー値を定数として自動的に解析し、メモリにアクセスして対応する定数を見つけます。そのため、フルーツを見つけてキー値を解析します。次に、メモリ内で定数を探しに行きました。 veggie が見つからなかった場合は、 veggie を実際のキー値として、対応する値を見つけました。
2. 一重引用符と二重引用符の問題
error_reporting(E_ALL);
$arr = array('フルーツ'=>'リンゴ','野菜'=>'ニンジン');
定義('果物','野菜');
print $arr['fruit']; echo '
' //apple
print $arr[フルーツ]; echo '
' //キャロット
print "hello $arr[fruit]"; echo '
'; // apple
print "こんにちは {$arr[fruit]}"; // こんにちは、キャロット
print "hello {$arr['fruit']}"; // hello apple
//print "Hello $arr['fruit']" // エラーがあります
;//print "hello $_GET['foo']" // エラーがあります
;print "こんにちは " . $arr['fruit'] // こんにちは、リンゴ
注: 配列の大括弧内に引用符がない場合、PHP はまず配列を定数として解析します。