0

我正在尝试从 php 中的 sql 语句的结果中打印出二维数组

到目前为止我有这个代码

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'] 之类的东西,我不想为每个循环使用,因为第二个条件必须是链接任何想法?

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 回答