php学习四:数组(一)
1. 直接赋值方式:
① 索引数组:以索引来存储数据,内存不是连续的,但是js中的内存是连续的
代码如下:
$array[0] = "11";
$array[1] = "22";
print_r($array); //通过print_r()来打印数组
echo "<br>";
② 关联数组:以键的形式来存储数据,内存也是不连续的
代码如下:
$array2["name"] = "房明"; $array2["age"] = 18; print_r($array2); echo "<br>";
2. 通过array来定义数组
可通过关键字array来定义数组,如果是一个空数组,则需要用array[]的方法来向数组中添加数据
代码如下:
$array3 = array(1,2,3,4,"德玛西亚"); print_r($array3); echo "<br>"; $array4 = array(); $array4[] = 1; //通过array[]方式向数组中添加数据 $array4[] = 2; $array4[] = 3; $array4[] = 4; print_r($array4); echo "<br>";
3. 遍历数组
① 遍历索引数组:for循环遍历,但php中的数组没有length属性,需要用到count个数
代码如下:
for($i=0;$i<count($array4);$i++) { //count表示数组里面数值的个数,php里面没有数组长度 echo $array4[$i]; }
② 遍历关联数组:使用foreach来遍历,还可遍历关联函数和索引函数的而混合体
代码如下:
foreach($array2 as $key => $obj){ echo $key."=".$obj."<br>"; }
此时的foreach格式为(数组名 as 键 => 值);
4.list()
//按索引角标顺序来进行解构,但是角标必须从0开始,并且是连续的
//只对索引数组有效,当遇到关联数组会直接跳过
$array5 = array("name" => "zhangsan",0 => "lisi",1 =>"wangwu");
list($a,$b) = $array5;
echo $a." ".$b; //结果为lisi,wangwu
5.each()
//会返回第一个键值对的一个数组(索引和关联数组的混合形式),
//当第二次调用是,游标会自动到下一个,即第二个键值对数组;
$array6 = array("name" => "fangming",0 => "18", "sex" => "man");
$iem1 = each($array6);
print_r($iem1);
echo "<br>";
$iem2 = each($array6);
print_r($iem2);
6.list,each结合使用
list($a,$b) = each($array6);
echo $a.":".$b."<br>";
7.利用while循环结合list,each进行遍历
$array7 = array("name" => "fangming","age" => "18", "sex" => "man");
while(list($a,$b) = each($array7)){
echo $a.":".$b."<br>";
};
8.reset,重置数组,使游标返回第一位
reset($array7);
php学习四:数组(一)的更多相关文章
- es6 学习四 数组的学习
1. Array.from() 语法: Array.from(arrayLike[, mapFn[, thisArg]]) arrayLike 类数组对象 mapFn 如果指定了该参数,新数组中的每个 ...
- Python学习之数组类型一:
Python学习之数组类型一: Numpy中的向量与矩阵: 1.创建: 向量.矩阵均由array函数创建,区别在于向量是v=array( [逗号分隔的元素] ), 矩阵是M=array( [[ ]] ...
- Android JNI学习(四)——JNI的常用方法的中文API
本系列文章如下: Android JNI(一)——NDK与JNI基础 Android JNI学习(二)——实战JNI之“hello world” Android JNI学习(三)——Java与Nati ...
- [ 转载 ] Java基础12--基础学习总结——数组
java基础学习总结——数组 一.数组的基本概念 数组可以看成是多个相同类型数据组合,对这些数据的统一管理. 数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量. 数组的 ...
- ZigBee学习四 无线+UART通信
ZigBee学习四 无线+UART通信 1) 协调器编程 修改coordinator.c文件 byte GenericApp_TransID; // This is the unique messag ...
- day 83 Vue学习四之过滤器、钩子函数、路由、全家桶等
Vue学习四之过滤器.钩子函数.路由.全家桶等 本节目录 一 vue过滤器 二 生命周期的钩子函数 三 vue的全家桶 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 Vue的过滤 ...
- TweenMax动画库学习(四)
目录 TweenMax动画库学习(一) TweenMax动画库学习(二) TweenMax动画库学习(三) Tw ...
- PHP学习之中数组-遍历一维数组【2】
在PHP学习之中数组[1]中学会怎么创建一个数组,如果PHP学习之中数组[1]中的元素多的话,我们访问元素又是一个问题了,下面我们就使用for语句while,foreach来遍历我们的数组: < ...
- SVG 学习<四> 基础API
目录 SVG 学习<一>基础图形及线段 SVG 学习<二>进阶 SVG世界,视野,视窗 stroke属性 svg分组 SVG 学习<三>渐变 SVG 学习<四 ...
- SCARA——OpenGL入门学习四(颜色)
OpenGL入门学习[四] 本次学习的是颜色的选择.终于要走出黑白的世界了~~ OpenGL支持两种颜色模式:一种是RGBA,一种是颜色索引模式. 无论哪种颜色模式,计算机都必须为每一个像素保存一些数 ...
随机推荐
- 【Unity】使用SceneManager加载/切换场景
一.直接切换 老版的(已弃用!): Application.LoadLevel(int index); // 参数是场景编号 Application.LoadLevel(string name); / ...
- 欢迎使用markdowm编辑器
欢迎使用Markdown编辑器写博客 [Mark一下CSDN用Markdown的写法而已] 本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown ...
- 【C#】BackgroundWorker类传递参数
要传递多个不同类型的参数: private void Test(){ int a = 123; string b = "456"; bool c = true; Backgroun ...
- (转) eclipse安装lombok
lombok的官方网址:http://projectlombok.org/ 1. lombok的安装: 使用lombox是需要安装的,如果不安装,IDE则无法解析lombox注解,有两种方式可以安装l ...
- JEECG常见问题大全征集
大家还有什么问题.请跟帖,谢谢支持. . JEECG常见问题大全征集 1. jeecg没有数据库脚本问题 jeecg不须要数据库脚本,在数据库创建好数据库.项目配置好数据源链接.会自己主动建表. ...
- ftp的主动模式active mode和被动模式 passive mode的配置和区别
ftp的主动模式active mode和被动模式 passive mode的配置和区别 2017年05月08日 17:47:16 阅读数:21768 本文主要记录的是在linux上的区别,弄了一整天才 ...
- 基于Struts2.3.x+Spring3.2.x+Hibernate4.2.x+EasyUI1.3.4+Maven架构的示例程序
基于Struts2.3.x+Spring3.2.x+Hibernate4.2.x+EasyUI1.3.4+Maven架构的示例程序 不知道为什么,保存的时候显示有一个连接为违禁内容,可能是…………. ...
- 【Spring boot】第一个项目 Springboot + mysql + hibernate
今天公司要做一个小项目,好久没碰项目了(刷题好累...),听说spring boot很火,决定试一试.暂时就从mysql里面读数据好了,使用hiberante. 1.获取jar包. 从http://s ...
- android onSaveInstance方法
为什么需要用到Activity状态保存, 如何用 ? 1)我们希望当前的Activity中的信息不会因为Activity状态的改变,而丢失.比如横竖屏的切换,突然来了个电话. 2) 借助Activit ...
- mssql 设置id自增 设置主键
主键自增长列在进行数据插入的时候,很有用的,如可以获取返回的自增ID值,接下来将介绍SQL Server如何设置主键自增长列,感兴趣的朋友可以了解下,希望本文对你有所帮助 1.新建一数据表,里 ...