2016-12-06 2 views
-1

я хочу, чтобы пройти все ключи массива в PHPобход всех ключей массива

[Field_1] => SOME VALUE 
[Field_2] => Array 
    (
    ) 

[Field_3] => Array 
    (
    ) 

[Field_4] => SOME VALUE 
[Field_5] => Array 
    (
    ) 

[Field_6] => Array 
    (
    ) 

[Field_7] => SOME VALUE 
[Field_8] => SOME VALUE 
[Field_9] => SOME VALUE 
[Field_10] => Array 
    (
     [Field_10.1] => Array 
      (
       [0] => Array 
        (
         [key_1] => SOME VALUE 
         [key_2] => SOME VALUE 
         [key_3] => SOME VALUE 
         [key_4] => Array 
          (
          ) 

         [key_5] => SOME VALUE 
         [key_6] => SOME VALUE 
          (
          ) 

        ) 

       [1] => Array 
        (
         [key_1] => SOME VALUE 
         [key_2] => SOME VALUE 
         [key_3] => SOME VALUE 
         [key_4] => Array 
          (
          ) 

         [key_5] => SOME VALUE 
         [key_6] => Array 
          (
          ) 

        ) 

       [2] => Array 
        (
         [key_1] => SOME VALUE 
         [key_2] => SOME VALUE 
         [key_3] => SOME VALUE 
         [key_4] => Array 
          (
          ) 

         [key_5] => SOME VALUE 
         [key_6] => Array 
          (
          ) 

        ) 

      ) 

    ) 

[Field_11] => Array 
    (
    ) 

Как я пройти через все ключи и вложенные ключи в массиве выше. Предпочтительно, используя рекурсивную функцию, я хочу пересечь массив и узнать конкретный ключ в массиве.

+0

Разве это не тот вопрос, который вы задали ранее, о том, как найти «Поле_10.1»? – Barmar

+0

@Barmar был предыдущий вопрос удален? Я не могу найти его. –

+0

@Barmar Да удалил предыдущий вопрос и добавил этот более конкретный вопрос. –

ответ

1
function traverse_keys($arr) { 
    foreach($arr as $key => $value) { 
     if(is_array($value) && !empty($value)) { 
      echo "<p style='font-weight: bold'>{$key}</p>"; 
      traverse_keys($value); 
     } else { 
      echo "<p>{$key}</p>"; 
     } 
    } 
} 

traverse_keys($arr); 

Этот код распечатывает все внешние и внутренние ключи. Клавиши, выделенные полужирным шрифтом, являются родительскими ключами подматриц. Надеюсь, поможет!

Смежные вопросы