0

我在 php 中编程多年,但我遇到了一个可笑的问题,不知道为什么会发生。我想我错过了一些东西,但我的大脑已经停止工作了!我有一个屁股。数组,当我 var_dump() 它时,它是这样的:

 array
  0 => 
    array
      4 => string '12' (length=2)
  1 => 
    array
      2 => string '10' (length=2)
  2 => 
    array
      1 => string '9' (length=1)

我想对这些值做一些事情,比如将它们存储在一个数组中,(12,10,9),但我不知道如何检索它!我测试了foreach()、array_value(),但没有结果。不管我做什么, var_dump() 结果还是一样的!顺便说一句,我正在使用 codeigniter 框架,但从逻辑上讲,它应该与框架无关,谢谢大家

4

5 回答 5

1

您可以尝试使用array_map

$array = array(
        0 => array(4 => '12'),
        1 => array(2 => '10'),
        2 => array(1 => '9'));

$array = array_map("array_shift", $array);
var_dump($array);

输出

array
  0 => string '12' (length=2)
  1 => string '10' (length=2)
  2 => string '9' (length=1)
于 2012-10-04T21:17:37.783 回答
0

您可以像这样访问它们:

$array[0][4]= '13'; 
$array[1][2]= '11'; 
$array[2][1]= '10'; 

var_dump($array); 给出这个结果:

    array(3) { 
      [0]=> array(1) { 
         [4]=> string(2) "13" } 
      [1]=> array(1) { 
         [2]=> string(2) "11" } 
      [2]=> array(1) { 
         [1]=> string(2) "10" } 
    }
于 2012-10-04T21:16:43.827 回答
0

If you have an unknown depth, you can do something like this:

$output = array();
array_walk_recursive($input, function($value, $index, &$output) {
    $output[] = $value;
}, $output);
于 2012-10-04T21:21:13.317 回答
0

像这样:

for ($i = count($array) ; $i >= 0 ; $i--) {
    foreach($array[$1] as $k => $v) {
        echo $k . "=>".$v;
    }
}
于 2012-10-04T21:18:04.440 回答
0

如果您希望它们最终出现在一个数组中,请声明一个,然后遍历您的项目。

$arr = new array();

foreach ($arrItem in $yourArray) {
  foreach ($innerArrItem in $arrItem) {
    array_push($arr, $innerArrItem);
  }
}

print_r($arr);
于 2012-10-04T21:18:44.473 回答