php获取数组的名称

时间:2014-08-03 17:24:50

标签: php arrays

$shortcodes['video_section'] = array(
    'no_preview' => true,
    'params' => 'xxx',
    'shortcode' => '[sc1][/sc1]',
    'popup_title' => __('Video Section', THEME_NAME),
    'shortcode_icon' => __('li_video')
);

$shortcodes['image_section'] = array(
    'no_preview' => true,
    'params' => 'yyy',
    'shortcode' => '[sc2][/sc2]',
    'popup_title' => __('Image Section', THEME_NAME),
    'shortcode_icon' => __('li_image')
);

$shortcodes[] = $th_shortcodes;

如何检索每个数组的名称,然后访问键和值:

例如我需要遍历$ shortcode并获取数组主名:'image_section' 'video_section'

然后检索某些键的值。我知道如何检索键和值,但实际上并不了解如何获取声明的数组的名称。如果我这样做:var_dump($value);我看到了数组的名称但是如何访问它?

4 个答案:

答案 0 :(得分:1)

您可以使用foreach

foreach($shortcodes as $key => $value) {
  echo $key // echoes "vide_section" and "image_section" 

  foreach($value as $innerKey => $innerValue) {
    echo $innerKey // echoes 'no_preview', 'params', 'shortcode', 'popup_title', 'shortcode_icon' twice
  }
}

请注意,$value在这种情况下是指数组,您可以再次访问内部值。

答案 1 :(得分:0)

使用数组上的array_flip函数

$array = array_flip($shortcodes);

答案 2 :(得分:0)

array_keys()

$keynames = array_keys($shortcodes);

你可以预先通过它:

foreach($shortcodes as $key=>values){ echo $key; }

或者用案例翻转价值(虽然这是我不推荐的最后一个),而不是通过这些。但是在这种情况下,阵列翻转最好不要单独使用(尽管我保留了很好的功能)。

答案 3 :(得分:0)

是的,你可以使用foreach,它根据创建顺序遍历数组中的每个项目。

foreach($shortcodes as $key => $value) {

   // $key represents video_section for 1st iteration and image_section for 2nd.
   //Here each are array, so you can again iterate over $value and get each item .

   foreach($value as $key2 => $value2) {
      //here keys are no_preview, params and so on on subsequent iterations.
   }
}