我有以下代码,我无法弄清楚它有什么问题。我提供一个数组作为参数,并且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