1. 単純な構文規則 (変数名を中かっこで区切ります。PHP のすべてのバージョンに適用されます):
コードをコピー コードは次のとおりです:
$a ='flower';
echo "彼女は $as を受け取りました";// 文字 s は要素を形成する有効な変数名とみなされますが、ここでの変数は$a
echo "彼女は ${a} を受け取りました";// 有効
echo "彼女は {$a} を受け取りました";// 推奨される使用法
コードをコピー コードは次のとおりです。
echo "彼女は $a を受け取りました"."s"; >echo " 彼女はいくつかの ".$a." を受け取りました";// これら 2 つの慣習的な書き方は、中括弧を使った書き方ほど簡潔で明確ではないはずですよね?
コードをコピーします コードは次のとおりです。
echo "有効な書き込みメソッド: {$arr[4][3]}";// 有効; 多次元配列を定義します
echo "有効な書き込みメソッド: {$arr[' foo'][3]}"; // 有効; 文字列で多次元配列を使用する場合は、必ず括弧で囲んでください
echo "有効な書き込み: {$this->width}00" ; // 有効; 定義されていない場合は $this->width00
echo "有効な書き込み: {$this->value[3]->name}";// この例は有効です。連鎖呼び出しを定義する有効な記述方法
echo ": $name: {${$name}}";// 有効; この例で示される効果は実際には変数 variable
echo " 有効な記述方法: {${getName()}}";// 有効。この例は、関数の戻り値を変数名
echo " として使用して、効果的に発行する方法を示しています: {${$this->getName( ) }}";// 有効; この例は、関数の戻り値を変数名として使用する方法を示しています
コードをコピー コードは次のとおりです。
error_reporting(E_ALL); arr = array('a ','b','c','d'=>'e');
echo "This is $arr[d]";// 問題がないことがわかります。このように書くと、次のようになります。このように書くにはどうすればよいですか?
echo $arr[d];
は次のエラーを生成しました:
コードをコピーします コードは次のとおりです:
error_reporting(E_ALL);$arr = array('a','b','c','d'=>'e');
define('f',' d' );
echo $arr[f];
今回は問題がないことがわかりました。文字列中の配列のインデックスがシングルクォーテーションで囲まれていなければ問題ないことがわかりますが、この書き方が文字列中にない場合はエラーが報告され、{$arr[foo] の場合は][3]} 文字列内の解析は非文字列解析に基づいています。したがって、インデックスに一重引用符を追加せずに、文字列内の配列を区切るために中括弧のみを追加するのは誤りです。プログラムは引用符で囲まれていないインデックスを定数として解釈するため、エラーが発生します。正しい書き方は次のとおりです:
コードをコピーします コードは次のとおりです。
error_reporting(E_ALL); $arr = array('a','b','c','d'=>array('e'=>'f'));
echo "これは $arr[ d][e]";
これでも正しく解析できますか?中括弧の追加は必ず必要だということだけをお伝えしたいと思います。もちろん、あなたが私の生徒でない場合、私はそこまで制御できません...
注 3:
コードをコピーコードは次のとおりです:
error_reporting(E_ALL);
$arr = array('a','b','c','d'); {$ arr[2]}
";
echo "これは {$arr['2']}
";
コードをコピー コードは次のとおりです:
// 例 1:
$ SQL1 =" select * from table where id={$_GET['id']}";// 例 2:
$SQL2 ="select * from table where id={$this->id}";