如果我將一組數字輸入終端,我正在嘗試回圈它們。通過呼叫
php scripts/max.php 1 5 9
我想要一個回圈超過 1、5、9 的回圈,并告訴我最大的數字是多少。我一直對回圈感到困惑,但我做到了這一點。
$args = $argv;
array_shift($args);
if (empty($args)) {
echo "Expecting numbers as arguments." . PHP_EOL;
exit(1);
}
$largest = [];
while ( $args ) {
echo $args . PHP_EOL;
while($args > $largest) {
break 2;
}
}
這個想法是當在終端中輸入它們時,回圈會采用任意數量的數字并告訴我哪個數字是最大的。
uj5u.com熱心網友回復:
扔掉你所有的回圈,只做max($args)1
您的代碼包含太多錯誤:
$args是陣列,所以沒有意義,它作用于陣列的隱藏型別$args轉換$args > $largest$largest = [];應該是整數,而不是陣列。- 你永遠不會指定任何東西
$largest
如果那是學校作業,那么請以正確的方式進行:
$args = $argv;
array_shift($args);
if (empty($args)) {
echo "Expecting numbers as arguments." . PHP_EOL;
exit(1);
}
$largest = PHP_INT_MIN; // first set it to be smallest possible integer. And since $args is not empty, we will overwrite it
foreach ($args as $arg) {
// Compare if current element is larger than our current $largest
if ($arg > $largest) {
$largest = $arg;
}
}
echo "Largest number: {$largest}";
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/442934.html
