循环的PHP函数。不打印循环

时间:2016-01-25 04:11:00

标签: php

所以循环不打印,我不明白为什么?我只是一个初学者,所以我真的很困惑为什么它不起作用。如果你们能解释其背后的原因那就太棒了。

<html>
<body>
<?php

$numbers = array(4,6,2,22,11);
sort($numbers);

function printarray($numbers, $x) {
    $countarray = count($numbers);
    for($x = 0; $x < $countarray; $x++) {
        echo $numbers[$x];
        echo "<br>"; 
    }    
}

printarray();

?>
</body>
</html>

2 个答案:

答案 0 :(得分:1)

您需要将变量添加到您的函数中:

printarray($numbers);

您还可以在函数本身创建和销毁函数时从函数中删除$ x。

答案 1 :(得分:0)

由于您是初学者,您可能有兴趣了解foreach。您可以使用它来大大简化您的功能:

<?php
$numbers = array(4,6,2,22,11);
sort($numbers);

function printArray($nums) {
    foreach($nums as $num) {
        echo $num;
        echo "<br>";
    }    
}

printArray($numbers);

通过实验:https://3v4l.org/1BtkK

一旦您习惯使用foreach,请查看array_maparray_filterarray_reduce,以便更简化您的代码。

<?php
$numbers = array(4,6,2,22,11);
$sort($numbers);

function printArray($nums) {
    array_reduce($nums, function ($carry, $item) {
        echo $carry .= $item . "<br>";
    });
}

printArray($numbers);

通过实验:https://3v4l.org/4JJFL

既然你是初学者,请查看PHP The Right Way并练习。获得经验后,再次查看PHP The Right Way并练习更多内容。然后再次。再一次。