$fr = "hammad";
$frhammad = "nuthing";
echo $fr{$fr};
Output:
h
予想される出力は
"Nuthing"
「Nuthing」をエコーする形式は何ですか?
$x{$n} は文字列 $x を文字の配列として扱う標準構文であるため、$n はその配列内の文字の数値インデックス位置です。あなたの場合、インデックス位置は数値以外の文字列である $fr によって識別されるため、PHP の緩い入力はそれを整数 0 に変換し、位置 0 の文字をエコーします... 文字列の最初の文字
編集
マニュアルからの必須の引用:
文字列アクセスと文字による変更
$str[42] のように、角かっこを使用して、文字列の後に目的の文字のゼロベースのオフセットを指定することにより、文字列内の文字にアクセスして変更できます。この目的では、文字列を文字の配列と考えてください。関数 substr() および substr_replace() は、複数の文字を抽出または置換する場合に使用できます。
注: 同じ目的で、$str{42} のように中括弧を使用して文字列にアクセスすることもできます。
編集#2
コメントから最新の質問に答えるには:
質問で指定したように、変数の名前をどのように連結しますか?
$fr = "hammad";
$frhammad = "nuthing";
$varName = 'fr'.$fr;
echo $$varName;
また
$fr = "hammad";
$frhammad = "nuthing";
echo ${'fr'.$fr};
可変変数補間の正しい構文は次のとおりです。
$fr = "hammad";
$frhammad = "nuthing";
echo ${fr.$fr};