我有以下代碼,我無法弄清楚它有什麼問題。我提供一個數組作爲參數,並且is_array($ primes)返回true。我在這裏錯過的任何東西?爲foreach()提供了無效的參數,is_array()返回true
function generate_primes($max)
{
$i = 4;
$primes = [2, 3];
while($i < $max)
{
$isPrime = true;
foreach($primes as $value)
{
if($i % $value == 0)
{
$isPrime = false;
break;
}
}
if($isPrime)
$primes = $i;
$i++;
}
return $primes;
}
'$素數= [2,3];'無效,使用'$ primes = array(2,3)' – 2013-04-03 22:16:56
@Akam:如果他使用PHP 5.4或更高版本,則短陣列語法是有效的。參考文獻:[1](http://php.net/manual/en/migration54.new-features.php),[2](http://php.net/manual/en/language.types.array.php ) – BigBagel 2013-04-03 22:24:26
這是不正確的; '$ primes = [2,3];'由更新版本的PHP支持。 – 2013-04-03 22:24:43