Das ist mein Array:Wie kann ich Eltern-, Großeltern- und Enkel-Schlüssel eines Array-Schlüssels in einem mehrdimensionalen Array abrufen?
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"
}
}
}
}
}
Dies ist meine Funktion:
$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);
}
}
}
Mein Ergebnis:
horse
cat
Was nicht nur den Array-Schlüssel ich brauche. Ich möchte auch alle Eltern (Eltern, Großeltern bis zur Wurzel) Schlüssel drucken. Das Ergebnis würde ich brauchen:
farm/folder1/horse
farm/folder1/cat
Soweit ich ist diese bekommen konnte. Aber hier bekomme ich nur die Eltern nicht die großen und grandgrand Eltern:
foreach($value as $k => $v) {
echo $key."/".$k;
}
Das Ergebnis ist
folder1/horse
folder1/cat
Ja, das sieht gut aus! Danke :) Nur ein Problem: Mit deiner Funktion ist mein Ergebnis '1234/farm/folder1/horse' also ging die' id 'irgendwie an den Anfang des Pfades. Ich habe versucht, "$ ID" aus Ihrer Funktion zu entfernen, aber seltsamerweise ist es immer noch – Jarla
das Problem ist wahrscheinlich in der Umgebung Code, die $ ID in dieser Funktion wird eigentlich nie verwendet, ich habe es nicht aus Ihrem Code – user3802077
Es So habe ich die Funktion ausgeführt, mein Fehler! Also eigentlich ist alles in Ordnung! :) – Jarla