使用jquery的.post我发送我的PHP代码一个对象var_dump
我得到这个结果:
array(6) {
[0]=>
array(1) {
["00176 "]=>
string(1) "2"
}
[1]=>
array(1) {
["00171 "]=>
string(1) "5"
}
[2]=>
array(1) {
["00173 "]=>
string(1) "1"
}
[3]=>
array(1) {
["00177 "]=>
string(1) "4"
}
[4]=>
array(1) {
["00183 "]=>
string(1) "2"
}
[5]=>
array(1) {
["00149 "]=>
string(1) "1"
}
}
我如何从这个数组中获取值?我想
foreach{
echo $key . '__ ' . $value //would give for [0]: '00176 __ 2'
}
我怎样才能实现这一目标?
答案 0 :(得分:2)
如果您正在努力使用数组的嵌套结构,您可以先将其展平,然后再执行foreach
:
// flatten the array:
$array = call_user_func_array('array_merge', $array);
// standard foreach:
foreach ($array as $key => $value) {
echo $key . '__ ' . $value;
}
另一种方法是使用each
:
foreach ($array as $entry) {
list($key, $value) = each($entry);
echo $key . '__ ' . $value;
}
答案 1 :(得分:0)
由于子数组的键值更改,您可能需要外部和内部循环。我希望重新整理你的帖子数据更清洁。
foreach($array as $item)
{
if(is_array($item))
foreach($item as $key => $value)
{
echo $key . '__ ' . $value;
}
}
答案 2 :(得分:0)
您正在通过POST接收多维数组,它具有以下结构:
$_POST[0][00176] = '2'
$_POST[1][00171] = '5'
$_POST[2][00173] = '1'
$_POST[3][00177] = '4'
$_POST[4][00183] = '2'
$_POST[5][00149] = '1'
所以我认为更容易阅读它的方法就是在另一个foreach中做一个foreach,就像这样:
foreach ($_POST as $key1 => $value1)
{
foreach ($value1 as $key2 => $value2)
{
echo $key2 . '__' . $value2;
}
}
在PHP文档中,有一个使用foreach
读取多维数组的示例