在循环变量之前(应该是一个数组) 我会做以下测试:
if(
!empty($arrJobs) &&
is_array($arrJobs) &&
count($arrJobs)
){
foreach ($arrJobs as $item) {
//loop tasks
}
}
我也看过使用if(sizeof($ arrJobs)> 0)但是如果$ arrJobs是一个整数(我不能信任输入)它会通过我会尝试循环整数...很奇怪。
在循环遍历数组之前,是否有更简洁,更全面的方法来执行此测试?
答案 0 :(得分:1)
检查你是否将ARRAY循环到FOREACH是重要的,否则PHP会给你错误... FOREACH期望参数为ARRAY ..
你可以使用IS_ARRAY ..我相信这就足够了。
但检查它是否为空将是非常好的练习...我正在使用COUNT()来检查ARRAY是否为空。
答案 1 :(得分:0)
除了is_array
之外你不需要检查任何东西:如果它是空的,PHP就不会循环。
此外还有一个建议:如果那些if
有意义(不是那种情况,但对这个解释有帮助),你应该分开“提前退出”(作为编码风格,因为它提高了可读性)
if (empty($arrJobs)) {
return;
}
if (!is_array($arrJobs)) {
return;
}
if (count($arrJobs)) {
return;
}