php中数组下标,PHP数组介绍_php
数组基础:
php中,数组的下标可以整数,也可以是字符串
php中,数组的元素顺序不是由下标决定,而是由其“加入”的顺序决定
定义:
$arr1 = array(元素1,元素2,。。。。。。);
array(1,1.1,5,'abc',true,false); //可以存储任何数据,此时为默认下标
array(2=>1,4=>1.1,3=>5,7=>'abc',0=>true); //下标可任意设定(无需顺序,无需连续)
array(2=>1,1.1,1=>5,'abc',0=>true); //可以加下标,也可以不加,不加下标则为默认下标
//默认下标规则:前面已经用过的最大数字下标+1
//这个数字的下标分别是:2,3,1,4,0
array(2=>1,'dd'=>5,1=>1.1,'abc',0=>true); //混合下标,同样遵循默认下标规则
array(-2=>1,'dd'=>5,1.1,'abc',true); //负数下标不算在整数下标中,而只当作字符下标
//则这个数组最后三项的下标为:0,1,2
array(2.7=>1,'dd'=>5,1=>1.1,'abc',true); //浮点数下标会自动转换为整数,且直接去掉小数部分
array("2.7"=>1,'dd'=>5,"11"=>1.1,'abc',true); //纯数字字符串下标,当作数字看待
array(2=>1,'dd'=>5,true=>1.1,'abc',false=>true); //布尔值当作下标,则true为1,false为0
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);
wKioL1ZNx1Sxflt6AAAnrLtN90Q498.jpg
指针除了负责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》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码
原创文章,转载请注明: 转载自搞代码
微信 赏一包辣条吧~
支付宝 赏一听可乐吧~
php中数组下标,PHP数组介绍_php相关推荐
- js 取得数组下标_数组的介绍及使用
JavaScript 中的数组常用于在单个变量中存储多个值.数组就是一组数据的集合,在内存中表现为一段连续的内存地址(保存在堆内存).创建数组的目的就是为了保存更多的数据. 数组概念和语法 概念:数组 ...
- 增加数组下标_数组以及ArrayList源码解析
点击上方"码之初"关注,···选择"设为星标" 与精品技术文章不期而遇 前言 前一篇我们对数据结构有了个整体的概念上的了解,没看过的小伙伴们可以看我的上篇文章: ...
- php自带excel,基于php中使用excel的简单介绍_PHP
在工作中需要处理多语言的翻译问题,翻译都是写在excel表格里面.为了处理方便我就保留中文和英文两列. 这样需要将这些数据从excel中取出来,然乎保存在excel的数组中,通过使用循环数组将相应的数 ...
- 通过数组下标为数组赋值(C语言)
编写程序,对具有19个元素的字符数组,从下标为8的元素开始,全部设置为"*",保持前8个元素不变. #include <stdio.h> #include <st ...
- java类型的数组初始化_java数组初始化详解
介绍 学习Java的朋友想必对数组并不陌生,它需要使用之前对其进行初始化,这是因为数组是引用类型,声明数组只是声明一个引用类型的变量,并不是数组对象本身,只要让数组变量指向有效的数组对象,程序中就可使 ...
- Postgresql数组操作符及数组函数
表1.数组操作符 操作符 描述 例子 结果 = 等于 ARRAY[1.1,2.1,3.1]::int[] = ARRAY[1,2,3] t <> 不等于 ARRAY[1,2,3] < ...
- java定义数组范围_Java数组的定义和使用
为什么需要数组? 问题:我们要计算30个学生的平均分 如果没有数组,我们的代码是这样的 int score1 = 32; int score2 = 56; int score3 = 78; //--此 ...
- php 2个数组并集,php中数组的并集、交集和差集函数介绍_PHP教程
在php中如果我想要对两个数组进行如并集.交集和差集操作,我们可直接使用php自带的函数来操作如array_merge(),array_intersect(),array_diff(). //计算数组 ...
- php 批量初始化数组,php中如何初始化一个数组_php
初始化一个数组一般有2种方法:一个是单独给数组中的元素赋值:还有一种是把所有的元素一起初始化. 下面简要介绍初始化数组的2种方法: 第一种方法: $a["color"]=" ...
最新文章
- JSP第二次作业_1小题
- 手把手玩转协同编辑(1):AST (Address Space Transformation)地址空间转换算法 基本介绍...
- C# Struct 内存对齐
- php cbd架构,CBD模式
- 【OS学习笔记】三十 保护模式九:段页式内存管理机制概述
- 语言 ota_新增飞屏功能 ARCFOX αT首次OTA升级
- jquery的get和post请求
- Android 开发中常见的Eclipse排版设置
- OpenCV-车牌号检测
- 离散数学 习题篇 —— 集合相等与子集关系判断
- scala linux环境变量配置,Scala 下载安装并配置环境
- 手把手教你怎样运用手机群控软件赚钱-手游工作室篇
- meson和pkg-config
- 日记侠:微信传说的功能升级了,你用了没有?
- 机器学习实战之信用卡诈骗(二)
- 火车票价还不够高(按照《经济学通识》手敲的(非原创))
- 人脸识别最低像素_深入浅出人脸识别技术
- 宏碁E1-471G笔记本固态启动盘问题
- 花1亿扶持优质红人,如涵推动网红经济出圈之路有何深意?
- Java开发环境搭建步骤
热门文章
- http中指定使用worker/prefork
- RDIFramework.NET — 系列目录 — 基于.NET的快速信息化系统开发框架
- 掌握Android中的进程和线程
- Wt::WTreeNode
- 数字带通滤波器c语言程序,C语言编写FIR数字低通滤波器
- 程序员到底要不要重复造轮子?
- mybatis循环map的一些技巧
- nat - 虚拟服务器设置,nat 虚拟服务器设置
- [转载] java如何实现一个字符串的反转和替换
- mcq 队列_人工智能搜索问题能力问题解答(MCQ)