为什么我的php foreach循环只返回数组的最后一个值?

为什么我的php foreach循环只返回数组的最后一个值?,php,arrays,foreach,Php,Arrays,Foreach,我目前正在创建一个自定义wordpress主题,并且遇到了一个foreach循环的问题。我在下面重新创建了一个简单的foreach循环,它代表了我在wordpress站点上遇到的问题 我希望$numbers的返回值是1234,但是当我回显$numbers时,它只返回数字4。我在堆栈溢出上找到的其他答案指出,分号或变量名被使用了两次。您可以在下面看到,这里的情况并非如此,但该值仍然只是数组中的最后一个值。谁能解释一下我应该对这段代码做些什么修改,让$numbers返回1234?提前谢谢 <?

我目前正在创建一个自定义wordpress主题,并且遇到了一个foreach循环的问题。我在下面重新创建了一个简单的foreach循环,它代表了我在wordpress站点上遇到的问题

我希望$numbers的返回值是1234,但是当我回显$numbers时,它只返回数字4。我在堆栈溢出上找到的其他答案指出,分号或变量名被使用了两次。您可以在下面看到,这里的情况并非如此,但该值仍然只是数组中的最后一个值。谁能解释一下我应该对这段代码做些什么修改,让$numbers返回1234?提前谢谢

<?php

$my_arrays = [[1, 2],[3, 4]];
foreach($my_arrays as $array) {
  foreach($array as $a) {
    $numbers = $a . " ";
  }

}

echo $numbers;

?>

使用.=追加字符串。每次使用=时,它都会覆盖上一个值,通过使用=它会将其添加到现有字符串中

<?php

$my_arrays = [[1, 2],[3, 4]];
foreach($my_arrays as $array) {
  foreach($array as $a) {
    $numbers .= $a . " "; //Use .= to append a string
  }

}

echo $numbers;

?>

使用.=追加字符串。每次使用=时,它都会覆盖上一个值,通过使用=它会将其添加到现有字符串中

<?php

$my_arrays = [[1, 2],[3, 4]];
foreach($my_arrays as $array) {
  foreach($array as $a) {
    $numbers .= $a . " "; //Use .= to append a string
  }

}

echo $numbers;

?>

尝试这样做

<?php
$my_arrays = [[1, 2],[3, 4]];
foreach($my_arrays as $array) {
  foreach($array as $a) {
    $numbers .= $a . " ";
  }
}
echo $numbers;
?>

尝试这样做

<?php
$my_arrays = [[1, 2],[3, 4]];
foreach($my_arrays as $array) {
  foreach($array as $a) {
    $numbers .= $a . " ";
  }
}
echo $numbers;
?>

替代解决方案:

将数组元素追加到数组中,然后将其内爆,这将阻止在文本末尾打印
空白

$my_arrays = [[1, 2],[3, 4]];
$numbers = [];
foreach($my_arrays as $array) {
  foreach($array as $a) {
    $numbers[] = $a;
  }
}
echo implode(' ', $numbers);
替代解决方案:

将数组元素追加到数组中,然后将其内爆,这将阻止在文本末尾打印
空白

$my_arrays = [[1, 2],[3, 4]];
$numbers = [];
foreach($my_arrays as $array) {
  foreach($array as $a) {
    $numbers[] = $a;
  }
}
echo implode(' ', $numbers);

$numbers.=$a。" ";
注意
=
前面的
,因为您总是覆盖您的值do
$number.=$a。" ";或更好的
$numbers[]=$a和之后的
打印内爆(“”,$number)
$numbers.=$a。" ";
注意
=
前面的
,因为您总是覆盖您的值do
$number.=$a。" ";或更好的
$numbers[]=$a和之后的
打印内爆(“”,$number)更好地提供替代方法。更好地提供替代方法。。。。或者
trim()我个人更喜欢这种方式。。。或者
trim()就我个人而言,我更喜欢这种方式,
$numbers
在这个代码段中没有实例化,所以连接将是错误生成器。
$numbers
在这个代码段中没有实例化,所以连接将是错误生成器。