为什么我不能读这个数组?

时间:2013-01-14 19:08:28

标签: php arrays wordpress

我目前正在为WordPress制作插件,我正在尝试使用get_options获取窗口小部件选项。结果,我得到一个数组,其中选项和选项名称作为键,但由于某种原因我无法读取它:

$options = get_option('widget_widgetname');
var_dump($options);

这是var_dump()

的输出
array(2) { [2]=> array(5) 
           { 
             ["string"]=> string(6) "Search" 
             ["title"]=> string(12) "WDSearchForm" 
             ["show_wrapper"]=> string(0) "" 
             ["animate"]=> string(0) "" 
             ["animateWidth"]=> string(2) "80" 
           } 
           ["_multiwidget"]=> int(1) }

但是当我执行以下操作时,它不起作用:

echo $options["string"]; // No output
echo $options["title"]; // No output

5 个答案:

答案 0 :(得分:2)

正如您在var_dump中看到的那样,您有一个多维数组。

您应该使用:

echo $options[2]["string"];

答案 1 :(得分:1)

看起来这是一个嵌套数组。尝试:

echo $options[2]["string"];
echo $options[2]["title"];

这是一个重新格式化的转储,使结构更清晰:

array(2) {
    [2]=> array(5) { 
             ["string"]=> string(6) "Search" 
             ["title"]=> string(12) "WDSearchForm" 
             ["show_wrapper"]=> string(0) "" 
             ["animate"]=> string(0) "" 
             ["animateWidth"]=> string(2) "80" 
           }
    ["_multiwidget"]=> int(1)
}

答案 2 :(得分:1)

这是一个多维数组。试试echo $options[2]["string"]

答案 3 :(得分:1)

这是一个二维数组。这应该可以解决问题:

echo $options[2]["string"];
echo $options[2]["title"]; 

$options = $options[2];

echo $options["string"];
echo $options["title"]; 

答案 4 :(得分:0)

echo $options[2]["string"]; // output
echo $options[2]["title"]; // output