Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php数组长度用什么函数取得

php数组长度用什么函数取得

青灯夜游
青灯夜游asal
2022-05-09 20:28:515843semak imbas

php获取数组长度有两种函数:1、count(),语法“count($arr,$m)”;2、sizeof(),语法“sizeof($arr,$m)”。这两个函数的第二个参数是用于处理多维数组的,可省略;若值设置为1,则可计算多维数组的长度。

php数组长度用什么函数取得

本教程操作环境:windows7系统、PHP8版、DELL G3电脑

在 PHP 中获取数组长度方法很简单,PHP 为我们提供了两个函数来计算数组的长度,分别是 count() 和 sizeof() 函数。

1、count() 函数

count() 函数可以统计出数组里所有元素的数量,或对象中的属性个数,其语法格式如下:

count($array , $mode )

参数说明如下:

  • $array:为待统计的数组或对象;
  • $mode:为可选参数,可以省略。
    • 如果省略 $mode 参数,或者将其设置为 COUNT_NORMAL 或者 0,count() 函数将不检测多维数组;
    • 如果 $mode 设置为 COUNT_RECURSIVE 或者 1,count() 函数将递归计算数组中元素的个数,对于计算多维数组的元素个数尤为有用。

提示:如果 $array 既不是数组,也不是对象,count() 函数将返回 1;如果 $array 等于 NULL,则 count() 函数返回 0。

示例1:一维数组长度

<?php 
header("content-type:text/html;charset=utf-8");
$arr=array(1,2,3,4,5,6,7,8,9);
var_dump($arr);
echo "数组长度为:".count($arr);
?>

1.png

示例2:二维数组的长度

<?php
header("Content-type:text/html;charset=utf-8");
$arr= array
("张三",
25,
    array("高数","PHP教程","英语"),
);
//输出语句
var_dump($arr);
echo "数组长度为:".count($arr,1);
?>

2.png

看了上面的输出结果,是不是感到疑惑,数组中不是只有5个元素("张三"、25、"高数"、"PHP教程"、"英语")吗,为什么结果显示的数组长度不是5,而是6呢?

其实是因为,此时count()函数循环统计二维数组中的所有元素,“array("高数","PHP教程","英语")”会被当做一个整体统计一次,它里面的元素("高数"、"PHP教程"、"英语")又会被统计一次,所以最终结果为 6。

2、sizeof() 函数

sizeof() 函数是 count() 函数的别名,也就是所 sizeof() 函数的功能及使用方法与 count() 函数完全相同。

示例:使用 sizeof() 函数计算数组长度

<?php
header("Content-type:text/html;charset=utf-8");
$arr = [&#39;php中文网&#39;,&#39;PHP教程&#39;,&#39;https://www.php.cn/&#39;,&#39;sizeof()函数&#39;,&#39;数组长度&#39;];
echo &#39;$arr 的长度为:&#39;.sizeof($arr).&#39;<br>&#39;;
$arr2 = [&#39;php中文网&#39;,&#39;PHP教程&#39;,[&#39;https://www.php.cn/&#39;,&#39;sizeof()函数&#39;,&#39;数组长度&#39;]];
echo &#39;$arr2 的长度为:&#39;.sizeof($arr2).&#39;<br>&#39;;
echo &#39;参数 $mode = 1 时,$arr2 的长度为:&#39;.sizeof($arr2, 1).&#39;<br>&#39;;
?>

3.png

推荐学习:《PHP视频教程

Atas ialah kandungan terperinci php数组长度用什么函数取得. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn