प्रश्न संदिग्ध है क्योंकि आपने अपना इनपुट और अपेक्षित आउटपुट निर्दिष्ट नहीं किया है।
$array = [
'first' => [
'second' => [
'third' => 'three',
],
'deuxième' => 'two',
],
];
अन्य समाधान के सभी अब तक चाबियों का एक चपटा एक आयामी सरणी सूची प्रदान:
इस उदाहरण सरणी पर विचार करें।
$keys = [
'first',
'second',
'third',
'deuxième',
];
हालांकि, मैं एक array_keys_recursive
समारोह है कि पदानुक्रम की रक्षा करेगा के लिए की जरूरत थी।
function array_keys_recursive(array $array) : array
{
foreach ($array as $key => $value) {
if (is_array($value)) {
$index[$key] = array_keys_recursive($value);
} else {
$index []= $key;
}
}
return $index ?? [];
}
स्रोत
2017-05-03 23:31:17
यह प्रत्यावर्तन कई मामलों में अनंत है:
किसी और को एक समान की जरूरत के लिए खोज के लिए, यहाँ मेरी समाधान है। – Svisstack
शैली पर एक नोट: वैरिएबल 'temp' या' tmp', ** विशेष रूप से ** वैश्विक नामस्थान में कॉल न करें, जो भ्रम की ओर जाता है। नाम वर्णनात्मक होना चाहिए; इसे 'चाबियाँ' कहते हैं, क्योंकि इसमें यही शामिल है। – meagar