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 搞代码

原创文章,转载请注明: 转载自搞代码

e7ce419cf2d6ad34d01da2ceb8829eed.png

微信 赏一包辣条吧~

023a57327877fb4402bcc76911ec18ea.png

支付宝 赏一听可乐吧~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/550570.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php支持ssi,让Apache支持SHTML(SSI)的配置方法

shtml和asp有一些相似,以shtml命名的文件里,使用了ssi的一些指令,就像asp中的指令,你可以在SHTML文件中写入SSI指令,当客户端访问这些shtml文件时,服务器端会把这些SHTML文件进行读取和解释,把S…

在电脑搭建oracle服务器端,oracle 服务器端搭建(C#开发环境)

oracle 服务器端搭建(C#开发环境)oracle 服务器端搭建(C#开发环境)常见问题:问:安装plsql 能直接 连接 oracle 服务器端吗?答:32可以直接连接,但是64为需要配置问:下载plsql 对于的版本的选择 是选择64位好…

【网络奇遇记】揭秘计算机网络的性能指标:速率|带宽|吞吐量|时延

🌈个人主页:聆风吟 🔥系列专栏:网络奇遇记、数据结构 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 📋前言一. 速率1.1 数据量1.2 速率 二. 带宽三. 吞吐量四. 时延4.1 发送时延4.2 传播时延…

怎么查看ip地址下的php文件夹,pe下查看原系统ip的方法

pe下查看原系统ip的方法方法及步骤如下:在PE下加载注册表,找到[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces],在“Interfaces”选项下面可以看到有多个注册表子项,依照不同子项下面的“IP…

linux cmake 编译项目,使用CMake构建复杂工程

0. 什么是CMakeCMake是一个跨平台的编译、安装、测试以及打包工具;CMake不直接编译软件,而是结合原生构建系统来构建软件。CMake配置文件是CMakeList.txt文件(每个源码文件夹下都要有一个),CMake根据配置文件在生成Unix的Makefile或VS的solut…

Linux防火墙屏蔽ip6,观点|Linux 发行版们应该禁用 IPv4 映射的 IPv6 地址吗?

从各方面来看,互联网向 IPv6 的过渡是件很缓慢的事情。不过在最近几年,可能是由于 IPv4 地址资源的枯竭,IPv6 的使用处于上升态势。相应的,开发者也有兴趣确保软件能在 IPv4 和 IPv6 下工作。但是,正如近期 OpenBSD 邮…

linux和pe修复win10启动项,pe下如何重建win10引导?pe下win10引导修复图文教程

[文章导读] 随着win10系统的流行,越来越多的小伙伴经常遇到win10系统引导丢失的情况,我们知道win10系统现在采用的是uefi引导,以前的一些修复工具都只能修复传统模式mbr格式下的硬引导,但对于uefi引导不是很清楚,uefi引…

c语言课程设计大作业模版,c语言课程设计报告模板下载

c语言课程设计报告模板是一款专业的设计模板,对于在大学有需要些设计报告的朋友,可以下载这款模板作为参考,了解设计报告的需求,基本上毕业的论文设计也是在这个基础上严格要求的,欢迎下载使用。C语言介绍C语言是一门面…

c语言如何把变量按位颠倒,求答案,用C语言编程,用户输入一个正整数,把他的各位数字前后颠倒,并输入点到后的结果...

满意答案q15173278975推荐于 2017.11.26采纳率:58% 等级:13已帮助:5665人用字符串处理很简单#include #include void main (){int n,i;char s[20];scanf("%d", &n);sprintf(s,"%d", n);printf("%d\n",s…

中南大学12月13日考c语言,中南大学2010级C语言试卷

中南大学考试试卷2010 -- 2011 学年 1 学期 时间110分钟学时学分 考试形式:班级 学号 姓名 总分100分,占总评成绩70 %一、选择题(每小题1.5分,共计30分)1. C语言中变量定义与使用的关系是 。A) 必须先定义,后使用 B)可以先使用,后定义 C) 可以…

android activity动态显示不出来,uiautomatorviewer 获取不到动态页面解决办法

以前玩 PC 最近刚搞 app 测试,费好大劲环境装好,高兴的点击 uiautomatorviewer.bat 想去抓取页面元素,尴尬的是首页就直接报错。Error while obtaining UI hierarchy XML file: com.android.ddmlib.SyncException: Remote object doesnt exis…

android xml 画下划线,android – strings.xml:如何从标记前面的空格中删除下划线?...

我的strings.xml中有以下行:This is a test在我的活动xml中,我在TextView中引用了这个字符串:android:layout_width"wrap_content"android:layout_height"wrap_content"android:text"string/test_string" />奇怪的是,当…

android开发基本知识,Android应用开发基本知识点汇总

Activity一生命周期4种状态running/paused/stopped/killed生命周期Activity发动onCreate->onStart->onResume点Home回来主界面onPause->onStop再次回到原ActivityonRestart->onStart->onResume退出ActivityonPause->onStop->onDestroy进程优先级前台&…

华为鸿蒙os2.0系统何时搭载手机,鸿蒙OS 2.0系统正式发布!余承东:明年华为系手机将会搭载...

原标题:鸿蒙OS 2.0系统正式发布!余承东:明年华为系手机将会搭载由于众所周知的原因,华为手机这两年过的很艰难,尤其是今年力度大了后,华为手机接下来可能面临无芯片可用的严重情况。而除了一些硬件外&#…

html气泡写法,制作CSS气泡框

气泡状文本框,是一种很生动的网页设计手段。它可以用来表示用户的发言。也可以用来作为特定信息的提示符。DVD租借网站Netflix,还用它显示碟片的详细信息。制作CSS气泡框的传统方法,需要5张背景图片,分别是:*tl.gif&am…

html教程padding,HTML CSS——margin和padding的学习

一、什么是边距CSS中的边距指的是当前元素border与周围其它元素border的距离(或者称为空间)。二、什么是内边距,什么是外边距代码2-1:html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.d…

html5的交互标签,html5里交互元素的使用方法

在H5里,交互元素就是和用户进行互动的元素,这一部分非常的重要,并且和之前的JS控制的效果不同,H5相比于HTML增加了很多的交互元素,比如隐藏显示注脚就是其中的一个交互效果。交互元素的使用body{font-size: 12px;}span…

组策略 控制台登录计算机用用户,Window 2008 R2组策略之一——组策略管理控制台...

组策略管理在windows域管理中占有重要地位,本身也不是新的内容了。但微软在Windows2008中终于集成了一个非常好用的组策略管理工具——组策略管理控制台。并且为原有的组策略添加了新的元素。本文从介绍组策略管理控制台入手,力求通过比较通俗的语言&…

计算机桌面上的输入法状态栏,输入法状态栏

2009-05-02今天不知怎么的,把工具栏里输入法的图标给搞丢了。请问大侠怎样找回?请指点,谢谢任务栏系统托盘区的输入法图标不见了,点击运行输入Ctfmon。exe 回车即可。任务栏没有输入法的解决方法(先右击任务栏/工具栏/勾选语言栏试…

html按钮分享功能实现,一个分享按钮的插件使用介绍(可扩展,内附开发制作流程)...

前几天由于工作需要制作一个分享按钮,考虑到后续其他项目可能也会用到,于是就打算写成插件化,正好也给我自己的插件jquery.hooray增加一个新的功能,为了不浪费大家时间,我先把demo放出来,如果觉得能用到&am…