所以我正在建立关于数组的多维关联数组的这个问题。我想出的是一种非常简单易行的方法来解决我的问题。以下数组:
$options = array(
'navigation' => array(
'page_title' => __('Aisis', 'aisis'),
'menu_title' => __('Aisis', 'aisis'),
'capabillity' => 'edit_themes',
'menu_slug' => 'aisis-core-options',
'function' => 'some_function',
'icon_url' => '',
'position' => '',
'sub_menues' => array(
array(
'page_title' => __('Aisis', 'aisis'),
'menu_title' => __('Aisis', 'aisis'),
'capabillity' => 'edit_themes',
'menu_slug' => 'aisis-core-options',
'function' => 'some_function',
),
array(
'page_title' => __('Aisis', 'aisis'),
'menu_title' => __('Aisis', 'aisis'),
'capabillity' => 'edit_themes',
'menu_slug' => 'aisis-core-options',
'function' => 'some_function',
),
)
),
'settings' => array(
array(
'option_group' => 'bla',
'option_name' => '',
'sanitize_call_back' => ''
)
),
'core_template' => 'path/to/admin/template.phtml'
);
然后按如下方式处理:
foreach($options as $settings=>$option){
if($setting = 'navigation' && is_array($option)){
foreach($option as $option_key=>$option_value){
var_dump($option);
if(!is_array($option_value)){
echo implode(',', $option);
}
}
}
}
问题是:
在我要说明的最后一个 if 语句中,或者至少我认为我是这样,只要 $options['navigation'] 中的键的值不是数组,就可以分解数组并返回值。这一切都按预期工作,接受它给了我“数组到字符串的转换”,由于 if 语句,它“不应该”。
所以我的简单问题是:
只要键的值不是数组,我如何内爆 $options['navigation'] ?
我以为我在正确的轨道上......
另外,在那张纸条上,当我看到 var_dump($option_values) 时,我看到了其他数组,所以我不仅看到了 'sub_menues',而且还看到了 'settings' 数组
我认为我的逻辑是合理的:
如果关键是导航,请执行此操作。
本质上,在这种情况下,我遇到了数组的范围问题,那么如何让它只查看 $options['navigation'] 中的键 => 值和任何其他数组,而不是 $options 中的?