2012-11-26 227 views
0

我试图从SQL语句的结果在PHP打印出二维数组打印出二维数组PHP

到目前为止,我有这个代码,但

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

+1

使用[foreach](http://php.net/manual/en/control-structures.foreach.php) –

回答

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>"; 
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

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'])。