$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);
我看到了数组的名称但是如何访问它?
答案 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)
$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.
}
}