检查数组是否有[0] [1] [2]或只有单个项目

时间:2015-09-11 10:52:41

标签: php arrays

我有特定的数组,我无法区分它是否有多个条目或单个条目,因为当它有多个条目时我得到

Multiple entries array

当我获得单一条目时,我不会将[0]作为第一个条目,而是我得到这个

Single entry array

我在php中使用foreach循环从数组中提取数据,但是当它返回数组中的单个项时,它为数组中的每个项循环3次:categoryid,name和其他一次然后,当然我得到错误< / p>

  

警告:非法字符串偏移'CategoryID'   警告:非法字符串偏移'名称'

如何查看单个项目还是多个项目?

代码:

if (e >= Keys.A && e <= Keys.Z)

1 个答案:

答案 0 :(得分:1)

您可以通过检查索引为0的元素来测试CustomCategory是否包含索引或关联数组。如果不是,您可以将内容包装在数组中,然后执行foreach循环。

$customCategory = $obj["Store"]["CustomCategories"]["CustomCategory"];
if (!$customCategory[0]) {
    $customCategory = array($customCategory);
}
foreach ($customCategory as $category => $val) {
    ...
}