gpt4 book ai didi

php - 为什么 PHP 在不改变条件的情况下交换两行后反向打印此函数

转载 作者:行者123 更新时间:2023-12-04 14:43:31 25 4
gpt4 key购买 nike

我有一个 displayNumber 代码,如果输入数字大于 1,它会打印输入数字,然后使用数字 - 1 再次调用 displayNumber 函数。

function displayNumber($number) {
if ($number >= 1) {
echo $number;
displayNumber($number-1);
}

return;
}

displayNumber(10);

输出将是:10987654321

但是在交换 echo 和 displayNumber 行之后:

function displayNumber($number) {
if ($number >= 1) {
displayNumber($number-1);
echo $number;
}

return;
}

displayNumber(10);

现在的输出是:12345678910

我无法理解 PHP 的这种行为。

最佳答案

我修改了您的代码以使其更易于理解:

function displayNumber($number) {
if ($number >= 1) {
echo $number ."<br>";
displayNumber($number-1);
echo $number . "---";
}
}

displayNumber(10);

输出:

10
9
8
7
6
5
4
3
2
1
1---2---3---4---5---6---7---8---9---10---

在第一种情况下,值被打印,然后减 1。在第二种情况下,值被减 1,然后打印。

此外,第一个 echo 每次都会运行,但是第二个 echo 不会发生这种情况,因为该函数就在它之前被调用。

关于php - 为什么 PHP 在不改变条件的情况下交换两行后反向打印此函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56613205/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com