2016-04-13 5 views
1
array(1) { 
    ["farm"]=> 
    array(2) { 
    ["folder1"]=> 
    array(2) { 
     ["horse"]=> 
     array(1) { 
     ["fred.jpg"]=> 
     string(30) "farm/folder1/horse/fred.jpg" 
     } 
     ["cat"]=> 
     array(1) { 
     ["john.jpg"]=> 
     string(28) "farm/folder1/cat/john.jpg" 
     } 
    } 
    ["folder2"]=> 
    array(1) { 
     ["cat"]=> 
     array(2) { 
     ["sam.jpg"]=> 
     string(27) "farm/folder2/cat/sam.jpg" 
     ["cat"]=> 
     array(1) { 
      ["john.jpg"]=> 
      string(32) "farm/folder2/cat/cat/john.jpg" 
     } 
     } 
    } 
    } 
} 

最も内側の配列キーだけを検出できますか?多次元配列の最も内側の配列キーを検出するにはどうすればよいですか?

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

この場合には、結果はなるように:

fred.jpg 
john.jpg 
sam.jpg 
john.jpg 
+1

私はいつもあなたがそのようなことをしたいと思いますか? – Phiter

+0

@PhiterFernandesなぜこれは珍しいのですか? – Jarla

+0

私は分かりません、私はちょうどこれが必要であるシナリオを描いていません。私は非常に好奇心が強い人です。 – Phiter

答えて

1

あなたは再帰的に使用するアレイを通過し、値が配列でない場合は、キーを印刷することができます。

例のように値を印刷するだけの場合は、条件なしでarray_walk_recursive()としてください。何かのように:

array_walk_recursive($your_array, function($value, $key) { 
    echo $key . "\n"; 
}); 
+1

ありがとうございます! – Jarla

関連する問題