3 回答

TA貢獻(xiàn)2019條經(jīng)驗(yàn) 獲得超9個(gè)贊
我對(duì)此的標(biāo)準(zhǔn)實(shí)現(xiàn)是:
if (isset($array['nonExistentYet']))
$array['nonExistentYet']++;
else
$array['nonExistentYet'] = 1;
但這是我使用@運(yùn)算符抑制警告的極少數(shù)情況之一,但前提是要完全控制數(shù)組:
@$array['nonExistentYet']++;
通常,禁止警告或錯(cuò)誤消息是不好的!

TA貢獻(xiàn)1878條經(jīng)驗(yàn) 獲得超4個(gè)贊
嗯,我想一個(gè)更可讀的方式是使用if..else如,
$arr = [];
if(array_key_exists('nonExistentYet', $arr)) {
$arr['nonExistentYet'] += 1;
}
else {
$arr['nonExistentYet'] = 1;
}

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超7個(gè)贊
如果經(jīng)常使用此方法,則可以定義一些輔助方法,該方法還具有有趣的副作用...
function inc(&$element) {
$element++;
}
$array = [];
inc($array['nonExistentYet']);
print_r($array);
給...
Array
(
[nonExistentYet] => 1
)
沒(méi)有警告。如您所見(jiàn),該函數(shù)將參數(shù)定義為&$element,如果該值不存在,則將創(chuàng)建該參數(shù),因此函數(shù)調(diào)用本身將創(chuàng)建該元素,然后將其遞增。
- 3 回答
- 0 關(guān)注
- 229 瀏覽
添加回答
舉報(bào)