我正在看一些PHP代码,我找到了这一行,我不知道它的意思
$contents[$item] = (isset($contents[$item])) ? $contents[$item] + 1 : 1;所以,如果条件计算为真,那么到底发生了什么,这是递增数组索引还是将数组值加1?
任何解释或其他资源都将受到高度赞赏。
发布于 2011-02-12 03:25:15
例如,如果$contents[$item]是3,那么它就变成了4。它不会弄乱整个$contents数组,也不会更改$item键;它只是更改数组中的特定值(如果它存在的话)。
将其可视化为:
$item = 'a';
$contents = array(
'a' => 3
);
// $contents['a'] is set, so it assigns $contents[$item] to itself, plus 1
$contents[$item] = (isset($contents[$item])) ? $contents[$item] + 1 : 1;
echo $contents[$item]; // Output is 4发布于 2011-02-12 03:38:33
$contents[$item] = (isset($contents[$item])) ? $contents[$item] + 1 : 1;在功能上等同于:
@$contents[$item]++;(我期待您的更正。)
发布于 2011-02-12 03:26:41
这只是一种奇特的写作方式
if (isset($contents[$item]))
$contents[$item] = $contents[$item] + 1;
else
$contents[$item] = 1;https://stackoverflow.com/questions/4973133
复制相似问题