<?php
$array = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100];
$result = [];
for ($i=0; $i < count($array) ; $i++) {
if (($i >=3 AND $i <= 6) OR $i=8){
array_push($result, $array[$i]*2);
} else {
array_push($result, $array[$i]*10);
}
}
var_dump($result);
?>
我想将数组中具有键 3、4、5、6 和 8 的值乘以 2,除了该键之外我想将其乘以 10。
尝试将内存限制更改为 -1(无限制),但仍然给出相同的错误。
最佳答案
似乎唯一的问题是:由于缺少 =,您正在更改 if 子句中 $i 的值,它应该是 $i==8 而不是 $i=8,经过一些细微更改的工作脚本将是:
<?php
$array = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100];
$result = [];
$length = count($array);
for($i=0; $i < $length ; $i++) {
if (($i >=3 AND $i <= 6) OR $i==8){
$val = $array[$i] * 2;
} else {
$val = $array[$i] * 10;
}
array_push($result, $val);
}
// output
echo "<pre>";
print_r($result);
echo "</pre>";
?>
输出:
Array
(
[0] => 100
[1] => 200
[2] => 300
[3] => 80
[4] => 100
[5] => 120
[6] => 140
[7] => 800
[8] => 180
[9] => 1000
)
关于php - 使用条件语句循环时出现 fatal error 导致内存耗尽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59004718/