我有一段代码,其中的变量既可以是数组,也可以是字符串。
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
}
}这当然是可行的--但这并不是很好。我将不得不做很多次。有没有更好的方法来做这件事?
发布于 2011-06-06 20:33:10
你可以这样做:
foreach((array)$relation['display_name'] as $display_name) {
// do something with $display_name
}发布于 2011-06-06 20:29:43
你可以这样做:
if(!is_array($relation['display_name'])) {
$relation['display_name'] = array($relation['display_name']);
}
# do your foreach here发布于 2011-06-06 20:31:28
我建议你调查一下问题的根源。
为什么$relation['display_name']有时是数组,有时不是?
修复问题比修补结果更好。
话虽如此,我将创建以下内容:
function transformToArray($mValue) {
return (is_array($mValue)) ? $mValue : array($mValue);
}https://stackoverflow.com/questions/6251974
复制相似问题