我使用 PHP 速记加法运算符来统计多维数组中特定 id 出现的次数:
$source['tally'] = array();
foreach ($items as $item) {
$source['tally'][$item->getId()] += 1;
}
第一次遇到新 id 时,它将其“tally”值设置为 1,然后每次找到该值时都会递增该值。
该代码工作完美(我得到了正确的总数),但是 PHP 每次找到新的 id 时都会给我一个“未定义的偏移量”通知。
我知道我可以关闭 php.ini 中的通知,但我想 PHP 不认可我的技术肯定是有原因的。
像这样动态创建新的键/偏移量是否被认为是不好的做法,我是否应该采取更好的方法?
请注意:为了帮助澄清以下初步反馈,我确实理解发出该通知的原因。我的问题是我是否应该对此采取行动,或者只是接受这个通知。如果我的问题不够清楚,我深表歉意。
如果您只是想隐藏通知,您可以使用错误控制算子 http://www.php.net/manual/en/language.operators.errorcontrol.php:
$source['tally'] = array();
foreach ($items as $item) {
@$source['tally'][$item->getId()]++;
}
但是,您通常应该初始化变量,在本例中通过在循环内添加以下代码:
if (!isset( $source['tally'][$item->getId()] ))
{
$source['tally'][$item->getId()] = 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)