gpt4 book ai didi

php - 在php循环中增加不存在的变量

转载 作者:行者123 更新时间:2023-12-02 11:57:47 25 4
gpt4 key购买 nike

我有一个 foreach 循环,在其中我正在构建一个大的多维数组并执行大量操作,如下所示:

$totalCosts['sawn']['materials'] += $sawnMaterialsCost;

在循环的第一次迭代中,未设置关键“ Material ”,因此它会抛出 undefined index 通知(并不可怕,但令人讨厌)。

我可以通过在循环之前定义它来解决这个问题,如下所示:

$totalCosts['sawn']['materials'] = '0.00';

但是,我有很多键要通过递增来填充,而且我不喜欢在循环之前必须将每个变量/键设置为“0”。有没有更好的方法来做到这一点,以便循环的第一次迭代检查一个值,如果找不到则将其设置为 1?

最佳答案

$totalCosts['sawn']['materials'] = ($totalCosts['sawn']['materials'] ?? 0) + $sawnMaterialsCost;

??是 PHP 7 中引入的运算符,如果定义且不为 null,则使用左侧操作数,否则使用右侧操作数。

?? 的性能成本可以忽略不计,除非您正在进行数百万次比较。在 Amazon c3.medium 上,我对每个参数进行了测量,结果比静态分配多了大约 250 纳秒。在 10,000,000 次循环中,这是半秒的惩罚。

perf.code.

关于php - 在php循环中增加不存在的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50436129/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com