php数组下标可以不是连续的。在php中,数组的下标可以整数,也可以是字符串;数组的元素顺序不是由下标决定,而是由其“加入”的顺序决定。PHP数组的下标可任意设定,无需顺序,也无需连续,例“array(2=>1,4=>1.1,3=>5,7=>'abc',0=>true); ”。
本教程操作环境: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
示例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
示例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); //如果下标跟前面的重复,则单纯覆盖前面同名下标的值
定义数组的其他形式:
$arr1[] = 1; $arr1[] = 5; $arr1[] = 1.1; ...... //直接在变量后面使用[],就成为数组,并依次赋值
$arr2['aa'] = 1; $arr2['bb'] = 5; $arr2[5] = 1.1; ...... //这种形式写的下标,其实跟使用array语法结构几乎一样
数组的分类:
从键值关系分为:
-
关联数组:通常是指下标为字符串,并且该字符串大体可以表达出数据的含义的数组
例:
$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循环的位置设定之外,还有其他一些函数也依赖于指针:
1:$v1 = current($arr1);
//取得$arr1中当前指针指向的元素的值,如果没有指向元素,则为false
2:$v1 = key($arr1);
//取得$arr1中当前指针指向的元素的下标,。。。。。。。。。。。。。
3:$v1 = next($arr1);
//将指针移向“下一个元素”,然后取得该下一个元素的值
4:$v1 = prev($arr1);
//将指针移向“上一个元素”,然后取得该上一个元素的值
5:$v1 = reset($arr1);
//将指针移向“第一个元素”,并取得该元素的值
6:$v1 = end($arr1);
//将指针移向“最后一个元素”,并取得该元素的值
7:$v1 = each($arr1);
//取得当前元素的下标和值,然后移动指针到下一个位置
推荐学习:《PHP视频教程》
以上是php中数组下标必须是连续的吗的详细内容。更多信息请关注PHP中文网其他相关文章!

本文比较了酸和基本数据库模型,详细介绍了它们的特征和适当的用例。酸优先确定数据完整性和一致性,适合财务和电子商务应用程序,而基础则侧重于可用性和

本文讨论了确保PHP文件上传的确保,以防止诸如代码注入之类的漏洞。它专注于文件类型验证,安全存储和错误处理以增强应用程序安全性。

本文讨论了在PHP中实施API速率限制的策略,包括诸如令牌桶和漏水桶等算法,以及使用Symfony/Rate-limimiter之类的库。它还涵盖监视,动态调整速率限制和手

本文讨论了使用password_hash和pyspasswify在PHP中使用密码的好处。主要论点是,这些功能通过自动盐,强大的哈希算法和SECH来增强密码保护

本文讨论了OWASP在PHP和缓解策略中的十大漏洞。关键问题包括注射,验证损坏和XSS,并提供用于监视和保护PHP应用程序的推荐工具。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

WebStorm Mac版
好用的JavaScript开发工具

Dreamweaver Mac版
视觉化网页开发工具

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

禅工作室 13.0.1
功能强大的PHP集成开发环境