PHP,在foreach语句中从数组中获取值

时间:2014-10-23 13:34:22

标签: php for-loop

我有一个PHP定义的数组:

array(4) {
  [2]=>
  array(35) {
    [64055]=>
    int(1)
    [63682]=>
    int(1)
    [63441]=>
    int(1)
    [63180]=>
    int(1)
    [62867]=>
    int(1)
    [62866]=>
    int(1)
    [62801]=>
    int(1)
    [62425]=>
    int(1)
    [61557]=>
    int(1)
    [61432]=>
    int(1)
    [60777]=>
    int(1)
    [60473]=>
    int(1)
    [60181]=>
    int(1)
    [56466]=>
    int(1)
    [54520]=>
    int(1)
    [54368]=>
    int(1)
    [52155]=>
    int(1)
    [52090]=>
    int(1)
    [51399]=>
    int(1)
    [51081]=>
    int(1)
    [48540]=>
    int(1)
    [45649]=>
    int(1)
    [45099]=>
    int(1)
    [43147]=>
    int(1)
    [39122]=>
    int(1)
    [37309]=>
    int(1)
    [29849]=>
    int(1)
    [28732]=>
    int(1)
    [23916]=>
    int(1)
    [23644]=>
    int(1)
    [23351]=>
    int(1)
    [21351]=>
    int(1)
    [16970]=>
    int(1)
    [16781]=>
    int(1)
    [16763]=>
    int(1)
  }
  [6]=>
  array(1) {
    [63854]=>
    int(1)
  }
  [4]=>
  array(7) {
    [62921]=>
    int(1)
    [58863]=>
    int(1)
    [50981]=>
    int(1)
    [49118]=>
    int(1)
    [36078]=>
    int(1)
    [27718]=>
    int(1)
    [21813]=>
    int(1)
  }
  [21]=>
  array(1) {
    [38328]=>
    int(1)
  }
}

如何遍历此数组以获取数字[2],[6]和[4]?我想打印出那些数字。谁可以帮我这个?我无法弄明白如何做到这一点。

4 个答案:

答案 0 :(得分:2)

由于它们是数组元素的键,array_keys()应该执行:

$keys = array_keys($array);

要打印它们,逗号分隔:

echo implode(', ', array_keys($array));

答案 1 :(得分:0)

使用foreach

$result = array();
foreach ($array as $key => $value){
    array_push($result, $key)
}

答案 2 :(得分:0)

foreach($array as $key=>$val) {
   if($key == 2 || $key == 4 || $key == 6)
      print_r($array[$key]);
}

希望这会有所帮助:D

答案 3 :(得分:0)

Georges回答最好,但如果你想要一个foreach它

foreach ($array as $key => $value) {
    echo $key;
}