在php中,如何在不迭代的情况下一次乘法所有数组元素?
我有一个由超过25k个元素组成的数组。所有数组值都是整数。现在我想用这个数组的所有元素乘以某个数字“n”。。。。在不使用foreach的情况下,如何使用I.e.遍历每个元素 我正在寻找这个bcoz迭代通过如此大的数组可能会影响性能在php中,如何在不迭代的情况下一次乘法所有数组元素?,php,arrays,Php,Arrays,我有一个由超过25k个元素组成的数组。所有数组值都是整数。现在我想用这个数组的所有元素乘以某个数字“n”。。。。在不使用foreach的情况下,如何使用I.e.遍历每个元素 我正在寻找这个bcoz迭代通过如此大的数组可能会影响性能 Deepak有一个数组_sum(),但没有数组乘法器函数 您将需要迭代(或者使用array\u map(),它只是从您那里抽象出迭代) 我还要确保您的数字不会溢出PHP的最大整数大小(在您的平台上检查PHP\u INT\u max)。您可能需要使用。因为有一大堆被删除
Deepak有一个
数组_sum()
,但没有数组乘法器函数
您将需要迭代(或者使用array\u map()
,它只是从您那里抽象出迭代)
我还要确保您的数字不会溢出PHP的最大整数大小(在您的平台上检查
PHP\u INT\u max
)。您可能需要使用。因为有一大堆被删除的答案,这些答案都是正确的
function arrayFunc($e){
if(is_array($e)) return array_map('arrayFunc', $e);
else return $e; // Set your changes here for example change this line to : else return $e * 1000;
}
$array = arrayFunc($array);
您将不得不以某种方式对数组进行迭代。甚至像
array\u map()
(参见下面使用它的答案)这样的东西也会导致PHP在数组内部进行迭代。虽然不会有任何性能提升-这个答案至少抓住了要点,回答了OP提出的问题:)@JP19尽管它是迭代,只是隐式的。我的两分钱:考虑到这个问题本身有点傻,我不明白“溢出”注释加了什么值-这对于PHP中的任何乘法运算都是正确的,并且与这个问题无关。@JP19我把它理解为如何将所有数组元素[一起]相乘,他注意到有25k,这确实可能成为一个很大的数字。哦,对不起。那么我的评论真的是无效的,你的回答真的很有用。我怀疑他指的是2.5万个数字,尤其是他说的“n”
function arrayFunc($e){
if(is_array($e)) return array_map('arrayFunc', $e);
else return $e; // Set your changes here for example change this line to : else return $e * 1000;
}
$array = arrayFunc($array);