1
Bu benim dizidir:Birden çokboyutlu bir dizide bir dizi anahtarın üst, büyük ebeveynli ve büyük ana anahtarlarını nasıl alabilirim?
array(1) {
["farm"]=>
array(2) {
["folder1"]=>
array(2) {
["horse"]=>
array(1) {
["fred"]=>
string(4) "fred"
}
["cat"]=>
array(1) {
["john"]=>
string(4) "john"
}
}
["folder2"]=>
array(1) {
["cat"]=>
array(2) {
["sam"]=>
string(3) "sam"
["cat"]=>
array(1) {
["john"]=>
string(4) "john"
}
}
}
}
}
Bu benim fonksiyondur:
$search = "folder1";
get_values($arr);
function get_values($arr, $id){
global $search;
foreach($arr as $key => $value){
if($key == $search){
if(is_array($value)){
foreach($value as $k => $v) {
echo $k;
}
}
}else{
get_values($value, $id);
}
}
}
Benim sonucu: ben sadece dizi anahtarına gerekenler
horse
cat
. Ayrıca tüm ebeveynleri (ana baba, büyükanne veya büyükbaba) kökeni tuşlarına basmak istiyorum. sonuç ihtiyacım olacaktır:
farm/folder1/horse
farm/folder1/cat
Bildiğim kadarıyla alabilir olarak budur.
foreach($value as $k => $v) {
echo $key."/".$k;
}
sonuç
folder1/horse
folder1/cat
Evet bu işe yarıyor! Teşekkür ederim :) Sadece bir sorun: Senin işlevin sonucu 1234/farm/folder1/horse 'yani bir şekilde' id 'yolun başlangıcına gitti. '$ Id' işlevinizden kaldırmaya çalıştım ama garip bir şekilde hala orada var – Jarla
sorunu büyük olasılıkla çevreleyen kodda, bu işlevin $ kimliği aslında hiç kullanılmıyor, kodunuzdan düzenleme yapmadım – user3802077
işlevi nasıl çalıştırdım, benim hatam! Yani aslında her şey yolunda! :) – Jarla