我目前正在创建一个自定义wordpress主题,并且已经遇到了foreach循环的问题。我在下面重新创建了一个简单的foreach循环,它代表了我在wordpress网站上遇到的问题。
我希望$ number的返回值为1 2 3 4,但是当我回显$ number时,它只返回数字4.我在Stack Overflow上找到的其他答案指向不对的分号或者变量名被使用了两次。您可以在下面看到这不是这种情况,但值仍然只是数组中的最后一个值。任何人都可以解释一下我应该对这段代码做些什么改变,以便$ number返回1 2 3 4?提前谢谢。
<?php
$my_arrays = [[1, 2],[3, 4]];
foreach($my_arrays as $array) {
foreach($array as $a) {
$numbers = $a . " ";
}
}
echo $numbers;
?>
答案 0 :(得分:5)
使用。=追加一个字符串。每次使用 = 时,它都会覆盖之前的值,使用。= ,它会将其添加到现有字符串中。
<?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;
?>
答案 1 :(得分:1)
替代解决方案:
将数组元素附加到数组中,然后将它们内部删除,这将阻止在文本末尾打印空白空间。
$my_arrays = [[1, 2],[3, 4]];
$numbers = [];
foreach($my_arrays as $array) {
foreach($array as $a) {
$numbers[] = $a;
}
}
echo implode(' ', $numbers);
答案 2 :(得分:0)
尝试这样做
<?php
$my_arrays = [[1, 2],[3, 4]];
foreach($my_arrays as $array) {
foreach($array as $a) {
$numbers .= $a . " ";
}
}
echo $numbers;
?>