禁用特定foreach的“无效参数提供”警告

时间:2010-09-17 15:40:51

标签: php

我是否可以禁用特定foreach语句的警告,更具体地说是“提供的无效参数”警告?

P.S。我想要一个foreach,当传递null而不是抛出错误时,就不会执行。

3 个答案:

答案 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 ...
}

与我合作。