PHP如何在不使用任何for和foreach循环的情况下从多维数组中获取内部数组

时间:2017-09-14 12:20:10

标签: php codeigniter

我有一个数组如下

$details = array([0] = array('id'=>1),
                 [1] = array('id'=>2),
                 [2] = array('id'=>3)
                );

需要在不使用任何循环的情况下访问内部数组

3 个答案:

答案 0 :(得分:0)

尝试使用array_walk php函数获取内部数组值

<?php
function myfunction($key,$value)
{
    print_r($key);

}

$details=array(0 => array('id'=>1),
                 1 => array('id'=>2),
                 2 => array('id'=>3)
                );

array_walk($details,"myfunction");
?>

答案 1 :(得分:0)

您可以像这样访问嵌套数组:

$details[0]['id']; //1

这基本上与:

相同
$innerArray = $details[0]; //array('id'=>1)
$innerArray['id']; //1

official documentation中的更多详细信息:

  

使用方括号语法访问数组元素

     

可以使用array [key]语法访问数组元素。

     

示例#6访问数组元素

<?php
$array = array(
    "foo" => "bar",
    42    => 24,
    "multi" => array(
         "dimensional" => array(
             "array" => "foo"
         )
    )
);

var_dump($array["foo"]);
var_dump($array[42]);
var_dump($array["multi"]["dimensional"]["array"]);
?>
     

以上示例将输出:

string(3) "bar"
int(24)
string(3) "foo"

答案 2 :(得分:0)

如果您知道内部数组的索引,可以使用以下语句访问它:

$details = array([0] = array('id'=>1),[1] = array('id'=>2),[2] = array('id'=>3));

echo $details[$indexOfInnerArray]['id'];

其中$indexOfInnerArray可以是0,1,2 ......