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,一种是颜色索引模式. 无论哪种颜色模式,计算机都必须为每一个像素保存一些数 ...
随机推荐
- MFC中Carray的使用
CArray 需要包含的头文件 <afxtempl.h> CArray类支持与C arrays相似的数组,但是必要时可以动态压缩并扩展.数组索引从0开始.可以决定是固定数组上界还是允许当添 ...
- html5 canvas实现图片玻璃碎片特效
今天要为大家带来一款html5 canvas实现的图片玻璃碎片特效.图片以玻璃碎片的形式出现到界面中,然后似玻璃被打碎的效果渐消息.效果图如下: 在线预览 源码下载 实现代码: html代码: & ...
- javascript-删除节点
任务目的: 每点击一下按钮删除一个标签. 掌握到了: 这里是主要学习到了parentNote以及removeChild两个DOM属性. parentNote:parent英译为父亲,Note英译为节点 ...
- mysql初步调试
第一次这么近距离的接触源码,有点兴奋,又有点不知所措,尼玛随便一个源文件都有几千行,你说怎么看,还有一些数不清的数据结构,函数,类等乱七八糟的东西. 我装的mysql版本是5.7.12,然后运行平台是 ...
- invalid conversion from 'void* (*)()' to 'void* (*)(void*)'
void *thread1() ], NULL, thread1, NULL)) != ) 提示:invalid conversion from 'void* (*)()' to 'void* (*) ...
- java定时任务Timer与ScheduledExecutorService<转>
在我们编程过程中如果需要执行一些简单的定时任务,无须做复杂的控制,我们可以考虑使用JDK中的Timer定时任务来实现.下面LZ就其原理.实例以及Timer缺陷三个方面来解析java Timer定时器. ...
- iOS边练边学--CALayer,非根层隐式动画,钟表练习
一.CALayer UIView之所以能显示在屏幕上,完全是因为他内部的一个图层 在创建UIView对象时,UIView内部会自动创建一个图层(即CALayer对象),通过UIView的layer属性 ...
- .net 高级写法总结
1.处理HTTP非正常的请求参数: [1] 获取相应的流转为string [2] request 的只读属性设置为可编辑,类似form [3] 转换为json对象 [4] 重设只读属性 //判断请求类 ...
- ‘,’之后要留空格,如 Function(x, y, z)
‘,’之后要留空格,如 Function(x, y, z).如果‘;’不是一行的结束 符号,其后要留空格,如 for (initialization; condition; update). #inc ...
- PNG透明兼容IE6的几种方法(转)
png 透明针对 IE6 一直是件挺麻烦的事情,使用的方法也是各有不同,大多的原理是用 IE 的滤镜来解决的. 语法: filter:progid:DXImageTransform.Microsoft ...