0

使用 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'
}

我怎样才能做到这一点?

4

3 回答 3

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;
}
于 2012-06-20T00:24:50.290 回答
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读取多维数组的示例

于 2012-06-20T00:45:34.127 回答
0

由于子数组的键值发生变化,您可能需要外循环和内循环。我希望将您的帖子数据重组得更干净一些。

foreach($array as $item)
{
  if(is_array($item))
    foreach($item as $key => $value)
    {
      echo $key . '__ ' . $value;
    }
}
于 2012-06-20T00:21:10.417 回答