所以我有一个这样的数组:
$style = array(
'css' => array(
'name' => array('core-css', 'babababa'),
'path' => array(get_bloginfo('stylesheet_url'), get_template_directory_uri() . '/bababa.css')
),
'js' => array(
'name' => array('core-css', 'babababa'),
'path' => array(get_bloginfo('stylesheet_url'), get_template_directory_uri() . '/bababa.css')
)
);
我可以这种方式走过:
function load_css(){
foreach($style as $key => $value){
var_dump($key);
}
}
现在var_dump将返回:
string(3) "css" string(2) "js" string(3) "css" string(2) "js"
问题是,如果我执行var_dump($ key ['css])或'js',我会收到非法的偏移错误.....
我需要检查两者,所以我假设:
if(isset($key['css']) && $key['css']){}
然后
if(isset($key['js']) && $key['js']){}
但唉它不起作用.....
有人可以告诉我我做错了什么吗?我无数次地走过这样的阵列......>。<
答案 0 :(得分:0)
您需要使用$style['css']
或$style[$key]
。密钥本身是一个字符串,而不是一个数组。
答案 1 :(得分:0)
这是正确的PHP行为
$a = array(
'key' => 'value';
);
foreach ($a as $key => $value) {
echo $key . PHP_EOL;
echo $value . PHP_EOL;
}
将输出
key
value
获取名称和路径使用:
$value['name'];
$value['path'];
答案 2 :(得分:0)
尝试使用$ value ['name']等。样式数组的键是'css'和'js',数组是$ value。
(另外,我认为这只是你问题中的一个错字,但你还没有关闭$key['css]
中的引用: - )