我有一个二维数组,我想用while循环将值推送到它;
$arr[0][1] = 1. value
$arr[0][2] = 2. value
我试过了
while($zRow = mysql_fetch_array($zQuery))
{
$props[]['name'] =$zRow['name'];
$props[]['photo'] =$zRow['thumbnail'];
}
此循环将名称推送到$ props [0] [name],将缩略图推送到$ props [1] [photo]
我也试过了
$j = 0;
while($zRow = mysql_fetch_array($zQuery))
{
$props[$j]['name'] =$zRow['name'];
$props[$j]['photo'] =$zRow['thumbnail'];
$j+=1;
}
可以,但是与此有关,当我稍后使用foreach循环时,这会引起麻烦,例如“非法偏移类型”
这是我的foreach循环
foreach($props as $no)
{
echo $props[$no]['name'];
}
现在我的问题;
1)除了使用$ j变量的while循环外,还有什么其他方法,例如用于二维数组的array_push
2)我如何使用foreach循环来处理二维数组
最佳答案
您可以将第一个循环更改为以下内容:
while($zRow = mysql_fetch_array($zQuery))
{
$row = array();
$row['name'] = $zRow['name'];
$row['photo'] = $zRow['thumbnail'];
$props[] = $row;
}
您的方法也可以,但是您需要该额外的变量。
在第二个循环中,您实际需要做的是:
foreach($props as $index => $array)
{
echo $props[$index]['name'];
// OR
echo $array['name'];
}
关于PHP将值插入二维数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9153444/