php中数组下标必须是连续的吗

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

数组基础:

php中,数组的下标可以整数,也可以是字符串

php中,数组的元素顺序不是由下标决定,而是由其“加入”的顺序决定

定义:

$arr = array(元素1,元素2,...);

示例1:

$arr1 = array(1,1.1,5,'abc',true,false); //可以存储任何数据,此时为默认下标
$arr2 = array(2=>1,4=>1.1,3=>5,7=>'abc',0=>true); //下标可任意设定(无需顺序,无需连续)
$arr3 = array(2=>1,1.1,1=>5,'abc',0=>true); //可以加下标,也可以不加,不加下标则为默认下标

//默认下标规则:前面已经用过的最大数字下标+1
//这个数字的下标分别是:2,3,1,4,0

1.png

示例2:

$arr1 = array(2=>1,'dd'=>5,1=>1.1,'abc',0=>true); //混合下标,同样遵循默认下标规则
$arr2 = array(-2=>1,'dd'=>5,1.1,'abc',true); //负数下标不算在整数下标中,而只当作字符下标
//则这个数组最后三项的下标为:0,1,2

2.png

示例3:

$arr1 = array(2.7=>1,'dd'=>5,1=>1.1,'abc',true); //浮点数下标会自动转换为整数,且直接去掉小数部分
$arr2 = array("2.7"=>1,'dd'=>5,"11"=>1.1,'abc',true); //纯数字字符串下标,当作数字看待
$arr3 = array(2=>1,'dd'=>5,true=>1.1,'abc',false=>true); //布尔值当作下标,则true为1,false为0
$arr4 = array(2=>1,'dd'=>5,2=>1.1,'abc',true); //如果下标跟前面的重复,则单纯覆盖前面同名下标的值

3.png

定义数组的其他形式:

$arr1[] = 1;
$arr1[] = 5;
$arr1[] = 1.1;
......  //直接在变量后面使用[],就成为数组,并依次赋值

4.png

$arr2['aa'] = 1;
$arr2['bb'] = 5;
$arr2[5] = 1.1;

......  //这种形式写的下标,其实跟使用array语法结构几乎一样

5.png

数组的分类:

从键值关系分为:

  • 关联数组:通常是指下标为字符串,并且该字符串大体可以表达出数据的含义的数组

    例:

$person = array("name" => "poe", "age" => 18, "edu" => "大学毕业");
  • 索引数组:通常是指一个数组的下标严格的从0开始的连续的数字下标 -- 跟js数组类似

从数组层次为分:

  • 一维数组:就是一个数组中的每一个元素值,都是一个普通值(非数组值)

    例:

$person = array("name" => "poe", "age" => 18, "edu" => "大学毕业");
  • 二维数组:一个数组中的每一项,又是一个一维数组。

$person = array(
"name" => array("xiaohua","xiaofang),
"age" => array(18,22),
"edu" => array("大学毕业","小学",)
);
  • 多维数组:依次类推。。。

    多维数组的一般语法形式:

$v1 = 数组名[下标][下标][......]

数组的遍历:

遍历基本语法:

foreach($arr as [$key =>] $value) {
//这里就可以对$key and $value进行所有可能的操作 -- 因为他们就是一个变量
//$key代表每次取得元素的下标,可能是数字,也可以是字符串
//$value代表每次取得元素的值,可能是各种类型
//此循环结构会从数组的第一项一直遍历到最后一项,然后结束
}

数组指针和遍历原理:

每个数组,其内部都有一个“指针”,该指针决定了该数组当前取值的时候取到的元素

foreach遍历过程中,都是依赖于该指针而进行的。

举例:

$arr1 = array(2=>1,'dd'=>5,1=>1.1,'abc',0=>true);

指针除了负责foreach循环的位置设定之外,还有其他一些函数也依赖于指针:

$v1 = current($arr1); //取得$arr1中当前指针指向的元素的值,如果没有指向元素,则为false

$v1 = key($arr1); //取得$arr1中当前指针指向的元素的下标,。。。。。。。。。。。。。

$v1 = next($arr1); //将指针移向“下一个元素”,然后取得该下一个元素的值

$v1 = prev($arr1); //将指针移向“上一个元素”,然后取得该上一个元素的值

$v1 = reset($arr1); //将指针移向“第一个元素”,并取得该元素的值

$v1 = end($arr1); //将指针移向“最后一个元素”,并取得该元素的值

$v1 = each($arr1); //取得当前元素的下标和值,然后移动指针到下一个位置

--结束END--

本文标题: php中数组下标必须是连续的吗

本文链接: https://www.lsjlt.com/news/34422.html (转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢

  • php中数组下标必须是连续的吗

    php数组下标可以不是连续的。在php中,数组的下标可以整数,也可以是字符串;数组的元素顺序不是由下标决定,而是由其“加入”的顺序决定。PHP数组的下标可任意设定,无需顺序,也无需连续,例“array(2=>1,4=>1.1,3=>5,7=>'abc',0=>true); ”。
    阅读数:2529 php php数组
  • php的数组只支持数字下标吗

    不是,php数组的下标(索引值)可以是一个字符串,也可以是一个数字。下标为字符串的数组为关联数组,是一种具有特殊索引方式的数组;下标为数字的数组为索引数组,其下标值必须为整数,且从0开始以此类推。
  • php数组中什么是下标

    在php数组中,下标是数组元素的标识符。数组中每个元素由一个特殊的标识符来区分,这个标识符称为键(也称为下标);下标默认是整数类型,且从0开始。在php中,如果创建数组时不手动设置字符串键名(下标),则默认创建索引数组,其下标(键名)由整数值组成,且默认的索引值是从0开始依次增加的;每个数字对应一个数组元素在数组中的位置,不需要特别指定。php零基础到就业直播视频课:进入学习程序员必备接口测试调试工
    阅读数:841 php php数组
  • php数组下标只能从0开始吗

    PHP数组下标不是只能从0开始;PHP中数组的下标默认是从0开始的,但并不是全部都是0开始,可以特别指定数组的下标,PHP会根据指定的下标进行自增,语法为“$array = array(指定下标=>"第一个元素","第二个元素"...)”。本文操作环境:Windows10系统、PHP8.1版、Dell G3电脑php数组下标不是只能从0开始PHP中的数字所以数组的下标默认从0开始,不需要特别指定,P
    阅读数:492 php
  • PHP的数组支持字符串下标吗

    PHP的数组支持字符串下标;PHP数组的下标也即索引值可以是一个字符串,也可以是一个数字,下标为字符串的数组为关联数组,是一种具有特殊索引方式的数组,而下标为数字的数组是索引数组,其下标值必须为整数。本文操作环境:Windows10系统、PHP8.1版、Dell G3电脑PHP的数组支持字符串下标php数组的下标(索引值)可以是一个字符串,也可以是一个数字。下标为字符串的数组为关联数组,是一种具有特
    阅读数:974 php
  • php中数组的值可以重复吗

    数组的值可以重复。在php中,数组的键名(key)是唯一的、不可以重复存在的,但数组的键值(value)是可以重复存在的。处理重复值的方法:1、使用array_unique()函数,可以删除数组中重复的值;2、使用array_count_values()函数,可以统计数组中所有值出现的次数,会返回一个关联数组,其元素的键名是原数组的值,键值是该值在原数组中出现的次数。php零基础到就业直播视频课:进
    阅读数:535 php php数组
  • 数组是php中的标量类型吗

    数组不是PHP中的标量数据类型,数组是复合数据类型;标量数据类型表示一个标量只能存放一个数据,而数组可以存放多个数据,因此数组不是标量数据类型,复合数据类型允许将多个类型相同的数据聚合在一起,表示为一个实体项。本文操作环境:Windows10系统、PHP8.1版、Dell G3电脑数组是php中的标量类型吗数组不是PHP中的标量数据类型,数组是复合数据类型标量数据类型只能存储一个数据,而数组中可以存
    阅读数:165 php
  • php数组传递是引用传值吗

    PHP数组传递不是引用传递,而是值传递;在调用函数时通过将PHP数组作为实参赋给形参,在函数中修改,并不会影响到数组本身,说明此过程中的传递是值传递,数组变量并非指向此数组本身的引用。php零基础到就业直播视频课:进入学习程序员必备接口测试调试工具:立即使用本文操作环境:Windows10系统、PHP8.1版、Dell G3电脑php数组传递是引用传值吗PHP中数组传递是值传递而非引用传递。在调用函
    阅读数:528 php
  • php数组的元素类型必须一样吗

    PHP数组的元素类型不是必须一样的;数组中的元素值可以是任何类型,例如字符串、常量等等,只有数组中的键名只能是数字和字符串两种类型,元素的值可以是不同类型的任意数据。php零基础到就业直播视频课:进入学习程序员必备接口测试调试工具:立即使用本文操作环境:Windows10系统、PHP8.1版、Dell G3电脑php数组的元素类型必须一样吗PHP数组的元素类型不是必须一样的,可以是任意的数据数组里面
    阅读数:108 php
  • php中数组怎么用

    这篇文章将为大家详细讲解有关php中数组怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 //1 将key值大小替换 $arr = array(a => 1, b => 2, C
    阅读数:832 php
  • php怎么只打印数组下标

    在php中,可以利用foreach和echo语句循环遍历数组并打印数组下标,语法“foreach($array as $key => $value){echo $key."<br>";}”。
    阅读数:626 php 打印数组下标
  • 详解PHP中数组函数的巧用

    PHP 的数组是一种很强大的数据类型,与此同时 PHP 内置了一系列与数组相关的函数可以很轻易的实现日常开发的功能。所以本文便总结了一些在常见场景中利用 PHP 内置函数的实现方法,希望对你有所帮助
  • php数组下标怎么求和

    php数组下标求和的步骤:1、使用array_keys()函数获取原数组中全部的下标(键名),语法“array_keys(原数组)”,会返回一个包含下标的结果数组;2、使用array_sum()函数对结果数组求和,语法“array_sum(结果数组)”。
    阅读数:725 php数组 php
  • php怎么求数组中最大下标

    php求数组中最大下标的步骤:1、使用array_keys()函数获取数组中的所有下标,并以数组形式返回得到的数组下标,语法“array_keys(原数组)”,会返回一个包含所有下标的数组;2、使用max()函数获取下标数组中的最大值即可,语法“max(下标数组)”。本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑在php中,将数组的下标组成一个数组,通过max函数便可以获得
    阅读数:127 php数组 php
  • php怎么删除指定下标的数组值

    php删除指定下标数组值的方法:1、使用unset()函数,语法“unset($arr[指定下标]);”;2、使用array_splice()函数,语法“array_splice($arr, 指定下标,1)”。
    阅读数:222 php 数组
  • php数组是对象吗

    php数组不是对象。在php中,数组和对象是两种不同的数据类型,数组是一组有序数据的集合;而对象是类进行实例化后的结果,里面不仅有属性,还有方法。对象可以封装对数据的操作,而数组是办不到的。本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑php数组不是对象。在php中,数组和对象是两种不同的数据类型。php数组数组是一组数据的集合,是将数据按照一定规则组织起来形成的一个整体。
    阅读数:935 php对象 php php数组
  • PHP支持索引数组吗

    PHP支持索引数组;索引数组也被称为数值数组,默认情况下由索引号表示,数组的所有元素是由0开始的索引号来表示的,索引数组可以存储数字、字符串或任何对象,可以利用“$array=array("数组元素","数组元素"...);”进行定义索引数组。本文操作环境:Windows10系统、PHP8.1版、Dell G3电脑PHP支持索引数组PHP索引数组是一个数组,默认情况下由索引号表示。 数组的所有元素是
    阅读数:298 php
  • php中数组array怎么求乘积

    PHP数组求乘积的两种方法:1、使用foreach语句循环遍历数组,然后在循环体中利用“*”运算符将数组元素一个个相乘,语法“$f=1;foreach($array as $v){$f*=$v;}”。2、使用array_product()函数计算数组中所有元素的乘积,语法“array_product($array)”。本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑php数组
    阅读数:664 php php数组
  • php中数组元素不够怎么填充数组

    PHP填充数组的2种方法:1、通过array_pad()使用指定值将数组填补到指定的长度,语法“array_pad(原数组,长度,指定值)”。2、通过array_fill()使用指定值将数组填充到指定的长度,语法“array_fill(开始填充位置,填充长度,指定值)”。本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑PHP提供了2种填充数组至指定长度的函数:array_pa
    阅读数:736 php php数组
  • php怎么求数组中最小的数字下标

    实现步骤:1、利用foreach语句遍历数组,语法“foreach ($arr as $k=>$v){/循环体语句块}”;2、在循环体中,利用is_numeric()获取数字下标,并赋值给一个空数组,语法“if(is_numeric($k)){$keys[]=$k;}”,会得到一个包含数字下标的数组;3、利用min()获取数字下标数组中的最小值,语法“min($keys)”。php零基础到就业直播视
    阅读数:753 php php数组