0

所以我有一个这样的数组:

$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']){}

但很遗憾,它不起作用......

有人可以告诉我我做错了什么吗?这样的数组我已经走过无数次了.... >.<

4

3 回答 3

0

您需要使用$style['css']$style[$key]。键本身是一个字符串,而不是一个数组。

于 2012-11-24T20:24:03.640 回答
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'];
于 2012-11-24T20:25:19.527 回答
0

尝试改用 $value['name'] 等。样式数组的键是 'css' 和 'js',数组在 $value 中。

(另外,我认为这只是您的问题中的一个错字,但您还没有关闭引用$key['css]:-)

于 2012-11-24T20:29:00.997 回答