我是否可以禁用特定foreach
语句的警告,更具体地说是“提供的无效参数”警告?
P.S。我想要一个foreach,当传递null
而不是抛出错误时,就不会执行。
答案 0 :(得分:8)
替代方案,使用类型转换类型不可知:
foreach ((array)$variable as $s)
将NULL转换为空数组,或将整数/字符串转换为具有单个条目的数组。如果您遍历灵活的数据结构(PHP毕竟是一种动态语言),这有时是可取的。失败方法建议用于捕获无效数据(但是应该抛出错误)。
答案 1 :(得分:5)
不,甚至没有在foreach面前使用@
(但无论如何这都是不好的做法)。
事先做一个简单的is_array()
检查:
if (is_array($variable))
foreach($variable.......
答案 2 :(得分:0)
你可以把它放在
中if(isset($variable))
{
foreach($variable ...
}
与我合作。