个性化阅读
专注于IT技术分析

如何在PHP中检查数组是关联数组还是顺序数组?

在PHP中, 由于变量是松散类型的, 因此无需在变量之前编写变量类型。它从存储在其中的用户定义值中获取数据类型。 PHP中的数组是一种数据结构, 它允许在单个变量下存储相似数据类型的多个元素, 从而节省了为每个数据创建不同变量的工作。

PHP基本上有三种类型的数组:

  • 顺序(索引)数组
  • 关联数组
  • 多维数组

顺序数组:那些以有序顺序方式(从0开始, 以n-1结束)具有数字索引的数组称为顺序或索引数组。在PHP中, 默认情况下为数组索引数组。

<?php
// Example of sequential array
  
$arr = array ( "January" , "February" , "March" );
  
// 1st element
echo $arr [0] . "\n" ;
  
// 2nd element
echo $arr [1] . "\n" ;
  
// 3rd element     
echo $arr [2] . "\n" ;
?>

输出如下:

January
February
March

关联数组:具有字符串类型的键而不是索引的数组或存在于”键”, “值”对中的数组称为关联数组。

<?php
// Example of associative array
  
$arr1 = array ( "Month1" => "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)中, 然后它是顺序的, 否则为关联数组。

<?php
// Example to check Sequential array
  
// Associative array
$arr1 = array ( "Month1" => "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。

赞(0) 打赏
未经允许不得转载:srcmini » 如何在PHP中检查数组是关联数组还是顺序数组?
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏