当前位置: 首页 > 面试题库 >

在使用[]添加值之前是否需要声明PHP数组?

毛正浩
2023-03-14
问题内容
$arr = array(); // is this line needed?
$arr[] = 5;

我知道没有第一行就可以使用它,但实际上它经常包含在内。

是什么原因?没有它是否不安全?

我知道您也可以这样做:

 $arr = array(5);

但我说的是您需要一一添加项目的情况。


问题答案:

如果您未声明新数组,并且创建/更新数组的数据由于任何原因而失败,则将来尝试使用该数组的任何代码都将E_FATAL因为该数组不存在。

例如,foreach()如果未声明该数组且未添加任何值,将抛出错误。但是,如果数组只是空的,则不会发生任何错误,就像您声明它的情况一样。



 类似资料:
  • 作为一般规则,jasypt期望加密的配置参数出现在“enc(...)”的周围。 例如,在appconfig.properties文件中,我有以下属性:

  • 问题内容: 当我浏览一些代码时,我注意到使用logger的方式如下, 但是在某些代码中,我是这样观察的。 当我查看log4j的源代码时,已检查了Logger本身的方法 。那为什么我们需要这些不必要的开销呢? 问题答案: 当传递给您的字符串花费时间评估时,这很有用,在这种情况下,如果未启用调试,则可以跳过此评估。 IMO使得代码的可读性大大降低,因此只有在性能有了显着提高时才应使用它。

  • 问题内容: 我的计划是将一些现有的Redis密钥存储在散列中,稍后再从Redis Lua脚本中获取并采取行动。我读到,最好的做法是提供调用时脚本中使用的所有键。 我的问题是,运行在运行时没有提供任何键,而是对从脚本 内部 获取的某些键进行操作的脚本是否安全?如果没有,后果是什么,如何避免这一缺点? 我提到在的时候,无法知道特定哈希中的键是什么。我可以在步骤之前的某个步骤中从哈希中获取所有键,然后将

  • 问题内容: 我正在编写一个小程序,以有序的方式定时显示我的Rubik立方体解。但是Python(3)一直困扰着我关于全局声明之前使用时间的困扰。但是奇怪的是,它在开始时就声明为(是,是列表),然后在函数(他抱怨的地方)中再次声明为,并使用对其进行“全局”处理。这是我的代码,因此您可以根据需要进行分析: 任何帮助将不胜感激,因为我是Python世界的新手:) 问题答案: 全局声明是当你声明是 如果声

  • 我使用testAd ID(ca-app-pub-3940256099942544/1033173712)从admob不是我的admob ID,我需要使用addTestDevice()太,而在移动设备测试?它甚至显示了测试广告屏幕,而不是实时广告。 因为我这样做了,我整天都在使用我的应用程序进行测试,晚上我收到了账户暂停邮件。

  • 是否需要在之前调用?为什么?我看不出有什么不同,但我看到很多人这样做。