我有一个非常简短的问题要问你:
我从 Excel 工作表中读取数据并想将其转换为关联数组。但有时某些单元格中没有给出任何值。因此,如果发生这种情况,我想将数组的值设置为 0。
现在我用三元运算符来做这件事,我很高兴我今天发现了这一点:
(isset($excel->sheet[0]['cells'][$row][$value]) ? $excel->sheet[0]['cells'][$row][$value] : 0)
在这种情况下是否有缩短重复的方法?它有效,但不是那么漂亮:(
最佳答案
虽然不推荐这样做,但我会采用以下方式 (PHP 5.3):
(@$excel->sheet[0]['cells'][$row][$value] ? : 0);
错误抑制运算符是一团糟,但在这种情况下,您唯一抑制的是关于 undefined variable 的众所周知的通知。
另一个选项(如 Álvaro G. Vicario 所述)可以简单地转换为 int
(如 NULL
转换为 0
):
(int)@$excel->sheet[0]['cells'][$row][$value];
关于php - 通过三元表达式设置不为空的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15000038/