从php中的关联数组中获取值

时间:2012-10-04 21:13:03

标签: php associative-array

我在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框架,但逻辑上它应该与框架无关 谢谢你们

5 个答案:

答案 0 :(得分: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)

答案 1 :(得分:0)

您可以像这样访问它们:

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

的var_dump($阵列);给出了这个结果:

    array(3) { 
      [0]=> array(1) { 
         [4]=> string(2) "13" } 
      [1]=> array(1) { 
         [2]=> string(2) "11" } 
      [2]=> array(1) { 
         [1]=> string(2) "10" } 
    }

答案 2 :(得分:0)

像这样:

for ($i = count($array) ; $i >= 0 ; $i--) {
    foreach($array[$1] as $k => $v) {
        echo $k . "=>".$v;
    }
}

答案 3 :(得分:0)

如果您希望它们以数组结尾,请声明一个,然后遍历您的项目。

$arr = new array();

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

print_r($arr);

答案 4 :(得分:0)

如果您的深度未知,您可以执行以下操作:

$output = array();
array_walk_recursive($input, function($value, $index, &$output) {
    $output[] = $value;
}, $output);