Php 如何在函数本身中输出函数的参数

Php 如何在函数本身中输出函数的参数,php,Php,我的代码应该给出旋转30次的尾巴和头的数量。这个过程要做4000次。我想使用上述代码将4000次的所有结果存储在一个数组中。但我认为我对flip的定义是错误的。我不知道在完成后如何存储flip参数的值,因此我使用了echo 当我运行此代码时。。出于某种原因,它会像这样打印出所有的答案:而不是仅仅制作一个数组。我已经指出,我采用flip的vfilanl值的方式是错误的。有人能告诉我echo和print之间的区别,以及我如何使用return。当我只使用return()时;在echo之后。它给了我一个

我的代码应该给出旋转30次的尾巴和头的数量。这个过程要做4000次。我想使用上述代码将4000次的所有结果存储在一个数组中。但我认为我对flip的定义是错误的。我不知道在完成后如何存储flip参数的值,因此我使用了echo

当我运行此代码时。。出于某种原因,它会像这样打印出所有的答案:而不是仅仅制作一个数组。我已经指出,我采用flip的vfilanl值的方式是错误的。有人能告诉我echo和print之间的区别,以及我如何使用return。当我只使用return()时;在echo之后。它给了我一个错误


请澄清我对如何输出这些值的疑问

您应该使用以下内容:

<?php


$l = 4000;

function flip($h, $t)
{

    if ($h + $t <= 29) {
        $a = mt_rand(0, 1);
        if ($a == 1) {
            flip($h + 1, $t);
        } else {
            flip($h, $t + 1);
        }

    } else {

        echo "$h,$t" . "</br>";
    }

}

$ar = array( "test");


for ($i = 0; $i <= $l; $i++) {
    array_push($ar, flip(0, 0));
}


?>

请注意,输出到客户端


但是您需要决定调用
flip
时得到的是什么,这是通过使用来完成的。

您需要使用而不是
echo
/
print
。您好,我看到您的代码大致相同。但是现在我用return替换了代码中的echo。忽略数组部分。我试着通过这个“打印翻转(0,0)”来获得翻转的答案。“为什么我没有得到任何答案?”SaiKrishnaDeep如果我使用
echo flip(0,0),“
在循环内部。使用<代码>打印翻转(0,0)。'
也可以工作,但串接字符串的速度较慢。这就是我现在的想法。。仍然不起作用。@SaiKrishnaDeep您必须添加return:
return flip($h+1,$t)
返回翻转($h,$t+1)。非常感谢Oriol!请告诉我这一变化背后的原因是什么,return到底是如何做到这一点的?如果解释起来太费劲,你能给我一个链接吗?:)谢谢,赛
<?php

function flip($h, $t)
{

    if ($h + $t > 29) return $h . ',' . $t;
    $a = mt_rand(0, 1);
    return $a == 1 ? flip($h + 1, $t) : flip($h, $t + 1);

}

$ar = array( "test");

$l = 4000;
for ($i = 0; $i <= $l; ++$i) {
    array_push($ar, flip(0, 0));
}

?>