获取多维数组PHP的键(数组内多个数组的单键)

时间:2016-03-08 10:07:13

标签: php arrays multidimensional-array

有人可以帮我解决我的问题吗?

我想在多维数组中使用var_dump特定键。 Array_keys,我无法弄清楚如何在多维数组中使用var_dump特定的或特定的键。

示例:

$array = array (
  0 => 
    array (
      'id' => '9',
      'gallery_id' => '2',
      'picture' => '56475832.jpg'
    ),
  1 => 
    array (
      'id' => '8',
      'gallery_id' => '2',
      'picture' => '20083622.jpg'
    ),
  2 => 
    array (
      'id' => '7',
      'gallery_id' => '2',
      'picture' => '89001465.jpg'
    ),
  3 => 
    array (
      'id' => '6',
      'gallery_id' => '2',
      'picture' => '47360232.jpg'
    ),
  4 => 
    array (
      'id' => '5',
      'gallery_id' => '2',
      'picture' => '4876713.jpg'
    ),
  5 => 
    array (
      'id' => '4',
      'gallery_id' => '2',
      'picture' => '5447392.jpg'
    ),
  6 => 
    array (
      'id' => '3',
      'gallery_id' => '2',
      'picture' => '95117187.jpg'
    )
);

如果我只想访问多维数组的特定键“id”怎么办?

array_keys是否有效?

还有什么可以胜任这项工作?因为我现在卡住了。

3 个答案:

答案 0 :(得分:0)

您可以使用foreach循环来访问ID。像这样:

foreach($array as $key => $arrays){

 echo $array[$key]['id'];
 echo '<br />';

}

答案 1 :(得分:0)

试试这个。我编写了一个简单的函数,它通过给定的索引名称获取值数组:

<?php
$array = array (
  0 => 
    array (
      'id' => '9',
      'gallery_id' => '2',
      'picture' => '56475832.jpg'
    ),
  1 => 
    array (
      'id' => '8',
      'gallery_id' => '2',
      'picture' => '20083622.jpg'
    ),
  2 => 
    array (
      'id' => '7',
      'gallery_id' => '2',
      'picture' => '89001465.jpg'
    ),
  3 => 
    array (
      'id' => '6',
      'gallery_id' => '2',
      'picture' => '47360232.jpg'
    ),
  4 => 
    array (
      'id' => '5',
      'gallery_id' => '2',
      'picture' => '4876713.jpg'
    ),
  5 => 
    array (
      'id' => '4',
      'gallery_id' => '2',
      'picture' => '5447392.jpg'
    ),
  6 => 
    array (
      'id' => '3',
      'gallery_id' => '2',
      'picture' => '95117187.jpg'
    )
);

function dumpValuesByIndexName($array, $indexName)
{
    $tempArray = array();

    foreach($array as $key => $value)
    {
        if(isset($value[$indexName]))
            $tempArray[$key] = $value[$indexName];
    }

    return $tempArray;
}

$result = dumpValuesByIndexName($array, 'id');

var_dump($result);

结果是:

array(7) {
  [0]=>
  string(1) "9"
  [1]=>
  string(1) "8"
  [2]=>
  string(1) "7"
  [3]=>
  string(1) "6"
  [4]=>
  string(1) "5"
  [5]=>
  string(1) "4"
  [6]=>
  string(1) "3"
}

以下是工作示例:CLICK!

答案 2 :(得分:0)

您可以使用:

array_column();

http://php.net/manual/de/function.array-column.php