从PHP多维数组中获取值

时间:2015-02-21 20:56:45

标签: php arrays string multidimensional-array foreach

我有一个像上面那样的数组:

Array
(
    [4] => Array
        (
            [p] => 0
            [c] => 
        )

    [5] => Array
        (
            [p] => 0
            [c] => gh1
        )
)

我试图以编程方式从数组中使用PHP [4]或[5]检索,但如果我使用数组中的foreach(),我将无法得到所需的数字(4和5) 使用

foreach ($array as $k) {
   echo '-->' . $k->p . ' ' . $k->c . '<br/>'
} 

仅显示

--> 0 
--> 0 gh1

我想要这个:

--> [4] 0
--> [5] 0 gh1

有人可以帮助我吗?

3 个答案:

答案 0 :(得分:3)

这就是答案:

foreach ($array as $key=>$value) {
   echo '--> [' . $key . '] ' . $value["p"] . ' ' . $value["c"] . '<br/>';
} 

请参阅此处的说明: http://php.net/manual/en/control-structures.foreach.php

  

foreach构造提供了一种迭代数组的简单方法。   ...   有两种语法:

     

foreach(array_expression as $ value)       声明

     

foreach(array_expression as $ key =&gt; $ value)       声明

     

...

     

第二种形式还会分配当前元素的键   每次迭代时的$ key变量。

答案 1 :(得分:2)

此代码更通用,因为您可以让数组中的其他索引与c和d不同。看一看。

  foreach ($array as $key => $value) {
       echo '--->[' . $key . '] ';
       foreach($value as $info => $inside) {
         echo  $inside . ' ';
       }
       echo '<br/>';
    } 

答案 2 :(得分:-1)

我设法找到了正确的方法:

foreach (array_keys($array) as $key) {
}

它会给我们所需的数字