首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >is_array()区别

is_array()区别
EN

Stack Overflow用户
提问于 2011-06-06 20:27:17
回答 6查看 480关注 0票数 3

我有一段代码,其中的变量既可以是数组,也可以是字符串。

代码语言:javascript
复制
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
    }
}

这当然是可行的--但这并不是很好。我将不得不做很多次。有没有更好的方法来做这件事?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-06-06 20:33:10

你可以这样做:

代码语言:javascript
复制
foreach((array)$relation['display_name'] as $display_name) {
     // do something with $display_name
}
票数 7
EN

Stack Overflow用户

发布于 2011-06-06 20:29:43

你可以这样做:

代码语言:javascript
复制
if(!is_array($relation['display_name'])) {
    $relation['display_name'] = array($relation['display_name']);
}

# do your foreach here
票数 5
EN

Stack Overflow用户

发布于 2011-06-06 20:31:28

我建议你调查一下问题的根源。

为什么$relation['display_name']有时是数组,有时不是?

修复问题比修补结果更好。

话虽如此,我将创建以下内容:

代码语言:javascript
复制
function transformToArray($mValue) {
    return (is_array($mValue)) ? $mValue : array($mValue);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6251974

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档