如何在php中打印多维数组值
问题描述 投票:0回答:2
我有多维数组与用户值我用于循环来回应这些值,但我得到错误未定义偏移,这是我的代码我无法理解如何回应这些值。
$user_list=array(); //values stored from table in multidimensional array
echo '
';print_r($user_list);
Array
(
[0] => Array
(
[id] => 1
[name] => abc
[email] => abc@gmail.com
)
[1] => Array
(
[id] => 2
[name] => xyz
[email] => xyz@gmail.com
)
[2] => Array
(
[id] => 3
[name] => mym
[email] => mym@gmail.com
)
)
for($row = 0; $row
echo $row."
";
for ($col = 0; $col < count($user_list[$row]); $col++) {
echo $user_list[$row][$col];
}
}
?>
php
arrays
2个回答
1
投票
你的问题是$user_list[$row]没有数字索引,它是一个关联数组(键id,name和email)。所以这个循环:
for ($col = 0; $col < count($user_list[$row]); $col++) {
echo $user_list[$row][$col];
不起作用(并给你未定义的偏移误差)。您应该使用foreach循环代替:
foreach ($user_list[$row] as $value) {
echo $value;
或者,您可以使用array_values获取数值索引的值:
for ($col = 0; $col < count($user_list[$row]); $col++) {
echo array_values($user_list[$row])[$col];
1
投票
你的内部循环期望索引作为数字,但你的内部索引是一个字符串。因此,foreach将是您实现的更好选择。
for ($row = 0; $row < count($user_list); $row++) {
foreach ($user_list[$row] as $col => $val) {
echo $user_list[$row][$col].' '; // or echo $val directly
}
echo "
";
}
热门问题