示例:
$arraytest = array(
key => array("test"),
key2 => value2,
key3 => value3);
foreach ($arraytest as $key=>$val) {
echo $key. "=" .$val. "<br>";
}
结果:
key=Array
key2=value2
key3=value3
那么,我怎样才能获得存储在$arraytest[0]
中的价值?我需要在foreach
中使用foreach
来获取
key=test
key2=value2
key3=value3
答案 0 :(得分:0)
那么,我如何获得存储在
$arraytest[0]
中的价值?
只需使用$arraytest[0]
即可。数组 是$arraytest[0]
的值。当你将它转换为字符串时,它只会说&#34;数组&#34;。
如果您希望迭代该数组,您已经知道如何做到这一点。
foreach ($arraytest[0] as $key => $val) {
echo $key, '=', $val, '<br/>';
}
答案 1 :(得分:0)
孩子也有阵列,所以你不能直接回应它。按is_array()
检查。例如:
$arraytest = array(
'key' => array("test"),
'key2' => 'value2',
'key3' => 'value3'
);
foreach ($arraytest as $key=>$val) {
echo (is_array($val)) ? $key. "=" .$val[0]. "<br>" : $key. "=" .$val. "<br>";
}
<强>输出:强>
key=test
key2=value2
key3=value3
答案 2 :(得分:0)
解决方案可以是检查项目是否为数组,遍历它
foreach ($arraytest as $key=>$val) {
if ( is_array(@val))
{
foreach ($val as $k =>$v) {
echo $k. "=" .$v. "<br>";
}
}
else
echo $key. "=" .$val. "<br>";
}
但这里面只有一个级别,你可以使用递归算法来获得不可预测的数量级别
答案 3 :(得分:0)
这是遍历任何数组并打印其值的递归函数:
function valuePrint($mixed, $keyStr = '')
{
if(is_array($mixed)) {
foreach ($mixed as $key => $value) {
valuePrint($value, $keyStr . $key . '=>'); // Recursive call
}
} else {
echo $keyStr . $mixed . "\n"; // For html output use '<br/>' instead of "\n"
}
}
调用函数的示例:
$arraytest = array(
'key' => array('test'),
'key2' => 'value2',
'key3' => 'value3',
);
valuePrint($arraytest);
通话结果将是:
key=>0=>test
key2=>value2
key3=>value3
还会显示内部数组的键0
,因为它也是一个键。我首选=>
而不是=
作为输出。