is_array()的区别

mse*_*seo 3 php arrays

我有一段代码,其中变量可以是数组,也可以只是一个字符串.

if(!is_array($relation['display_name']))
{
    // do something with $relation['display_name']
}
else
{
    foreach($relation['display_name'] as $display_name)
    {
        // do the same with $display_name
    }
}
Run Code Online (Sandbox Code Playgroud)

这当然有效 - 但它不是很好.而且我必须做很多次.有没有更好的方法呢?

Dvi*_*lay 7

你可以这样做:

foreach((array)$relation['display_name'] as $display_name) {
     // do something with $display_name
}
Run Code Online (Sandbox Code Playgroud)


vin*_*dia 5

你可以这样做:

if(!is_array($relation['display_name'])) {
    $relation['display_name'] = array($relation['display_name']);
}

# do your foreach here
Run Code Online (Sandbox Code Playgroud)