Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 通过关联数组循环未按预期工作?_Php_Arrays - Fatal编程技术网

Php 通过关联数组循环未按预期工作?

Php 通过关联数组循环未按预期工作?,php,arrays,Php,Arrays,我有一个像这样的数组,我像这样循环: $options = array(); $options[0] = 'test1'; $options[1] = 'test2'; $options[2] = 'test3'; foreach($options as $x) { echo "Value=" . $x ; echo "<br>"; } foreach($options as $key => $val){ echo "Val: ".$val; echo "&

我有一个像这样的数组,我像这样循环:

$options = array();
$options[0] = 'test1';
$options[1] = 'test2';
$options[2] = 'test3';

foreach($options as $x)
{
  echo "Value=" . $x ;
  echo "<br>";
}
foreach($options as $key => $val){
  echo "Val: ".$val;
  echo "<br/>";
}
现在,我想向阵列中添加一些选项并通过它们进行循环:

$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>";
}
所以现在我不知道如何使用这些家伙的foreach访问存储值? 比如:

Value=first_option='test'
所以当我使用
print\r($options)

输出为:

Array
(
[first_options] => test
[second_option] => 
[third_option] => 
)
1

您的循环应该如下所示:

$options = array();
$options[0] = 'test1';
$options[1] = 'test2';
$options[2] = 'test3';

foreach($options as $x)
{
  echo "Value=" . $x ;
  echo "<br>";
}
foreach($options as $key => $val){
  echo "Val: ".$val;
  echo "<br/>";
}
foreach($key=>$val的选项){
echo“Val:.$Val;
回声“
”; }
您的循环应该如下所示:

$options = array();
$options[0] = 'test1';
$options[1] = 'test2';
$options[2] = 'test3';

foreach($options as $x)
{
  echo "Value=" . $x ;
  echo "<br>";
}
foreach($options as $key => $val){
  echo "Val: ".$val;
  echo "<br/>";
}
foreach($key=>$val的选项){
echo“Val:.$Val;
回声“
”; }
您的代码正按预期工作,并产生预期的结果。您必须使用其他方法更改
$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>";
}
$options=[
“第一个选项”=>“测试”,
“第二个选项”=>获取选项(“第二个选项”),
“第三个选项”=>获取选项(“第三个选项”)
];
foreach($选项作为$key){
echo“Value={$key}
”; }
您还可以使用:

foreach($options as $key => $value) {
  echo "Value - {$value} = {$key}<br>";
}
foreach($key=>$value的选项){
echo“Value-{$Value}={$key}
”; }

或者您至少可以将
array()
替换为
[]
。这些只是一些整洁的建议。

您的代码正按照预期工作,并产生了预期的结果。您必须使用其他方法更改
$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>";
}
$options=[
“第一个选项”=>“测试”,
“第二个选项”=>获取选项(“第二个选项”),
“第三个选项”=>获取选项(“第三个选项”)
];
foreach($选项作为$key){
echo“Value={$key}
”; }
您还可以使用:

foreach($options as $key => $value) {
  echo "Value - {$value} = {$key}<br>";
}
foreach($key=>$value的选项){
echo“Value-{$Value}={$key}
”; }

或者您至少可以将
array()
替换为
[]
。这些只是一些整洁的建议。

你能给我们看看
echo''、print\r($options),''的输出吗?您能否向我们展示
echo''、print\r($options),''的输出