如何在PHP检查数组是关联的还是顺序的?
在PHP不需要在变量之前写变量类型,因为它是松散类型的。它从存储在其中的用户定义值中获取数据类型。 PHP中的数组是一种数据结构,它允许在单个变量下存储多个相似数据类型的元素,从而节省为每个数据创建不同变量的工作。
PHP中基本上有三种类型的数组:
- 顺序(索引)数组
- 关联数组
- 多维数组
顺序数组:那些以有序的顺序方式(从 0 开始,以 n-1 结束)具有数字索引的数组称为顺序或索引数组。在PHP,默认数组索引数组。
输出:
January
February
March
关联数组:具有字符串类型键而不是索引或存在于 ('key', 'value') 对中的数组称为关联数组。
"January",
"Month2" => "February",
"Month3" => "March"
);
echo $arr1["Month1"] . "\n";
echo $arr1["Month2"] . "\n";
echo $arr1["Month3"] . "\n";
?>
输出:
January
February
March
如何检查PHP数组是关联的还是顺序的?
PHP没有内置的方法来知道数组的类型。如果顺序数组包含 n 个元素,则它们的索引位于 0 到 (n-1) 之间。所以找到数组键值并检查它是否存在于 0 到 (n-1) 中,那么它是顺序的,否则是关联数组。
"January",
"Month2" => "February",
"Month3" => "March"
);
// Checking for sequential keys of array arr
if(array_keys($arr1) !== range(0, count($arr1) - 1))
echo "Array is associative";
else
echo "Array is sequential \n";
?>
输出:
Array is associative
笔记:
- ===如果 $x 和 $y 相等且类型相同,则返回 True。
- !==如果 $x 和 $y 不相等或类型不同,则返回 True。
- ==如果 $x 和 $y 相等则返回 True。
- !=如果 $x 不等于 $y,则返回 True。