我有一个数组,其中包含我在执行var_dump()
时可以看到的内容数据,但我无法使用foreach()
var_dump()
生成以下输出
array(4) { [0]=> array(1) { [0]=> string(5) "Admin" } [1]=> array(1) { [0]=> string(4) "rick" } [2]=> array(1) { [0]=> string(6) "techbr" } [3]=> array(1) { [0]=> string(7) "testdom" } }
我希望能够获取此数组的内容并将其存储在另一个数组中。
目前我正在使用以下代码
$empList = array();
$empList = emp_list($mysqli);
var_dump($empList);//This generated the above output
foreach ($empList as $value)
{
echo $value."<br>";
}
回声输出是
Array
Array
Array
Array
如何解决这个问题?
感谢您的建议我已经以这种方式修改了代码
$i=0;
$empList = array();
$tempList = array();
$tempList = emp_list($mysqli);
foreach ($tempList as $value)
{
$empList[$i] = $value[0];
$i++;
}
现在$empList
数组以正确的格式存储内容
答案 0 :(得分:1)
它在另一个数组中有一个数组,因此,使用两个foreach循环
$empList = array();
$empList = emp_list($mysqli);
foreach ($empList as $value)
{
foreach ($value as $temp)
{
echo $temp."<br>";
}
}
答案 1 :(得分:0)
正如u_mulder在你的问题评论中所说,你的数组不是一个字符串数组 - 它是一个包含更多数组的数组。 var_dump()旨在处理复杂的嵌套内容,但echo无法打印数组 - 这就是为什么它只是告诉你$ empList中的每个项都是一个数组,而不是它的内容。
如果你想从$ empList中的特定数组中获取内容,你需要通过索引键访问它,例如:
$first = $empList[0];
foreach ($first as $value) {
echo $value."<br>";
}
或者如果你想迭代它们,你可以将两个foreach循环放在另一个中。