0

PHP で SQL ステートメントの結果から 2 次元配列を出力しようとしています。

これまでのところ、私はこのコードを持っています

for ($i=0; $i < count($searchResults); $i++) {
print "<tr>";
print "<td>";
print "$searchResults[$i]['username']";
print "</td>";
print "<td>";
print "<a href=\"viewprofile.php?email=$searchResults[$i]['email'] 
     \">$searchResults[$i]['email']</a>";
print "</td>";
print "</tr>";
  }

しかし、配列の値を出力する代わりに、代わりに $array['username'] のようなものを出力します.2番目の条件はリンクでなければならないので、for eachループを使用したくありませんか?

4

3 に答える 3

1

あなたがやっているように文字列で多次元配列を行うことはできません:

print "$searchResults[$i]['username']";
print "<a href=\"viewprofile.php?email=$searchResults[$i]['email'] 
 \">$searchResults[$i]['email']</a>";

それらを次のように変更します。

print $searchResults[$i]['username'];
print "<a href=\"viewprofile.php?email=".$searchResults[$i]['email']." 
 \">".$searchResults[$i]['email']."</a>";
于 2012-11-26T04:22:25.693 に答える
0

配列構文の解析に問題があります。二重引用符を削除するだけです

print $searchResults[$i]['username'];
print "<a href=\"viewprofile.php?email=" . $searchResults[$i]['email'] .
     "\">" . $searchResults[$i]['email'] . "</a>";

PHP で解析する必要がある場合は、文字列の解析について詳しく読んでくださいhttp://php.net/manual/en/language.types.string.php

配列構文の場合、引用符は必要ありません。

print "{$searchResults[$i][username]}";

(「ユーザー名」を引用符で囲まないことに注意してください)。ただし、中かっこを使用しない限り、変数を使用しないでください (もう一度読んでください)。concat だけを使用することをお勧めします

于 2012-11-26T04:22:39.280 に答える
0
foreach ($searchResults as $result) {
    print "<tr>";
    print "<td>";
    print $result['username'];
    print "</td>";
    print "<td>";
    print "<a href=\"viewprofile.php?email=$result[email] 
         \">$result[email]</a>";
    print "</td>";
   print "</tr>";
}

文字列内に配列変数を埋め込む場合" "、配列キーを一重引用符でエスケープしないことに注意してください。($result[email]の代わりに$result['email'])。

于 2012-11-26T04:24:56.087 に答える