Alv*_*aro 15 php arrays foreach
我想知道是否总是需要像我is_array()之前那样使用之前的东西foreach.
如果变量不是数组,则会引发错误.所以我总是使用:
if(is_array($users)) {
foreach($users as $user){
}
}
Run Code Online (Sandbox Code Playgroud)
你会推荐我什么?谢谢.
Nea*_*eal 22
好吧,如果你已经足够了解你的代码,那么就没有理由去检查它是否是一个数组.
否则,如果变量更改类型,我会建议稍微调整一下代码,这样就不会这样做了.
除此之外,使用if语句是要走的路.
如果你确定某些东西是一个数组或以其他方式实现Iterable,你显然不需要额外的if条件.如果您不确定,那么显然检查类型将使您的代码更可靠.
我见过的一些黑客包括将变量转换为数组:( array)$ users.不建议这样做,最好明确检查类型.
另外,如果这是函数内部的代码,您可以使用参数类型:
function mycode(array $users)
{
foreach ($users as $user) { }
}
Run Code Online (Sandbox Code Playgroud)
当使用错误的类型调用函数时,它将触发错误.