我有一个像这样的数组,我正在这样循环:
$options = array();
$options[0] = 'test1';
$options[1] = 'test2';
$options[2] = 'test3';
foreach($options as $x)
{
echo "Value=" . $x ;
echo "<br>";
}
按预期输出:
Value=test
Value=test2
Value=test3
现在我想为我的数组添加一些选项并循环它们:
$options = array();
$options['first_option'] = 'test';
$options['second_option'] = get_option('second_option');
$options['third_option'] = get_option('third_option');
foreach($options as $x)
{
echo "Value=" . $x ;
echo "<br>";
}
但它不能按我的意愿行事。因为它输出:
Value=first_option
Value=second_option
Value=third_option
所以现在我不知道如何使用这些人的 foreach 来访问存储的值? 类似的东西:
Value=first_option='test'
所以当我使用print_r($options)
时
输出是:
Array
(
[first_options] => test
[second_option] =>
[third_option] =>
)
1
答案 0 :(得分:4)
你的循环应如下所示:
foreach($options as $key => $val){
echo "Val: ".$val;
echo "<br/>";
}
答案 1 :(得分:1)
您的代码正常工作并产生所需的结果。您必须在$options
中更改其他值。更正:现在我看到你的编辑,你的函数没有返回任何值,所以选项1和2是空白的。确保该函数返回一些东西。除此之外,所有这些代码都很好。
顺便说一下,我推荐这个:
$options = [
'first_option' => 'test',
'second_option' => get_option('second_option'),
'third_option' => get_option('third_option')
];
foreach($options as $key) {
echo "Value = {$key}<br>";
}
你也可以使用:
foreach($options as $key => $value) {
echo "Value - {$value} = {$key}<br>";
}
或者您至少可以用array()
替换[]
。这些只是一些整洁的建议。