因此,这是我的情况:
我正在获取存储在变量中的一些输入($keywords
)。这个变量可以是一个字符串(=1个关键字),比如"banana"
,也可以是一个数组(=多个关键字),比如array ("banana","apple","mango")
。
这是我使用它的方式:
foreach ($keywords as $keyword)
{
// do sth with $keyword
}
当$keyword
是一个数组时,这个方法可以正常工作,但如果它不是数组,我会收到错误提示。(非常明显)
为了避免错误,同时保持我的foreach
结构不变,最有效的解决方法是什么?
这是我想到的一种解决方法(在循环之前放置),但我并不太喜欢它:
if (count($keywords)==1) $keywords = array($keywords);
更新:各位,我知道有 is_array
这个函数。我的意思是尽可能地优雅地做到这一点,不要添加代码块或使用 switch
或 if
/else
语句,避免弄乱原本的代码结构。