PHP错误抑制或isset

时间:2015-08-19 12:42:13

标签: php arrays

我有一个超过50个不定键的数组意味着我不确定某个特定字段是否存在。 我有两个选项可以将数组值分配给其他。

首先

 $array2['someOtherField'] = @ $array1['somefield'];

第二

event.GetEventObject()

任何人都可以建议,哪一个更适合我的情况。 或者,有什么方法可以抑制一个代码块的错误。

2 个答案:

答案 0 :(得分:1)

如果你需要这个代码真的很快,那么第二个选项更好,因为我的PHP代码分析经验。

如果真的只有50个元素,我会使用第一个选项,因为很明显你要避免什么样的问题。

答案 1 :(得分:1)

好的方法是在使用之前始终检查变量。所以第一个变体更好。我也会默认考虑这个值:

 $array2['someOtheField'] = isset($array1['somefield'])?$array1['somefield']:null;

如果这是字符串数组,那么:null应该改为:"",在整数数组中,所以:0; 这将为您的代码带来更多一致性。

顺便说一句,关闭警报的想法并不好。想象一下你需要调试一些东西的情况。您将启用警报,并且页面将包含您将被强制修复的不相关警报,然后才能找到您的错误相关警报