对我收到的:foreach循环值感到困惑

use*_*823 -2 php

HI创建了一个foreach循环,我得到了一个值,但我无法理解为什么我得到了我得到的值.任何人都可以解释为什么我得到321作为输出而不是123?

<?php
    $numbers = array(1,2,3,4);
    $total = count($numbers);
    $output = "";
    $i = 0;

    foreach($numbers as $number) {
        $i = $i + 1;
        if ($i < $total) {
            $output = $number . $output;
        }
    }

    echo $output;
?>
Run Code Online (Sandbox Code Playgroud)

Ste*_*nTG 5

$output = $number . $output; 在输出开始时而不是在结尾处附加新数字.

$output = $output . $number; 应该给你你期望的.

正如菲尔佩里所暗示的那样,$output .= $number;也会起作用,而且会更短.

  • 更好的是,`$ output.= $ number;` (2认同)