1.  直接赋值方式:

①   索引数组:以索引来存储数据,内存不是连续的,但是js中的内存是连续的

代码如下:

  1. $array[0] = "11";
  2. $array[1] = "22";
  3. print_r($array); //通过print_r()来打印数组
  4. echo "<br>";

  

②   关联数组:以键的形式来存储数据,内存也是不连续的

代码如下:

  1. $array2["name"] = "房明";
  2.  
  3. $array2["age"] = 18;
  4.  
  5. print_r($array2);
  6.  
  7. echo "<br>";

  

 2. 通过array来定义数组

可通过关键字array来定义数组,如果是一个空数组,则需要用array[]的方法来向数组中添加数据

代码如下:

  1. $array3 = array(1,2,3,4,"德玛西亚");
  2.  
  3. print_r($array3);
  4.  
  5. echo "<br>";
  6.  
  7. $array4 = array();
  8.  
  9. $array4[] = 1; //通过array[]方式向数组中添加数据
  10.  
  11. $array4[] = 2;
  12.  
  13. $array4[] = 3;
  14.  
  15. $array4[] = 4;
  16.  
  17. print_r($array4);
  18.  
  19. echo "<br>";

  

 3. 遍历数组

①   遍历索引数组:for循环遍历,但php中的数组没有length属性,需要用到count个数

代码如下:

  1. for($i=0;$i<count($array4);$i++) { //count表示数组里面数值的个数,php里面没有数组长度
  2.  
  3. echo $array4[$i];
  4.  
  5. }

  

 

②   遍历关联数组:使用foreach来遍历,还可遍历关联函数和索引函数的而混合体

代码如下:

  1. foreach($array2 as $key => $obj){
  2.  
  3. echo $key."=".$obj."<br>";
  4.  
  5. }

  

此时的foreach格式为(数组名 as 键 => 值);

4.list()

//按索引角标顺序来进行解构,但是角标必须从0开始,并且是连续的

//只对索引数组有效,当遇到关联数组会直接跳过

  1. $array5 = array("name" => "zhangsan",0 => "lisi",1 =>"wangwu");
  2. list($a,$b) = $array5;
  3. echo $a." ".$b; //结果为lisi,wangwu

  

5.each()

//会返回第一个键值对的一个数组(索引和关联数组的混合形式),

//当第二次调用是,游标会自动到下一个,即第二个键值对数组;

  1. $array6 = array("name" => "fangming",0 => "18", "sex" => "man");
  2. $iem1 = each($array6);
  3. print_r($iem1);
  4. echo "<br>";
  5. $iem2 = each($array6);
  6. print_r($iem2);

  

6.list,each结合使用

  1. list($a,$b) = each($array6);
  2. echo $a.":".$b."<br>";

  

7.利用while循环结合list,each进行遍历

  1. $array7 = array("name" => "fangming","age" => "18", "sex" => "man");
  2. while(list($a,$b) = each($array7)){
  3. echo $a.":".$b."<br>";
  4. };

  

8.reset,重置数组,使游标返回第一位

  1. reset($array7);

  

php学习四:数组(一)的更多相关文章

  1. es6 学习四 数组的学习

    1. Array.from() 语法: Array.from(arrayLike[, mapFn[, thisArg]]) arrayLike 类数组对象 mapFn 如果指定了该参数,新数组中的每个 ...

  2. Python学习之数组类型一:

    Python学习之数组类型一: Numpy中的向量与矩阵: 1.创建:  向量.矩阵均由array函数创建,区别在于向量是v=array( [逗号分隔的元素] ), 矩阵是M=array( [[ ]] ...

  3. Android JNI学习(四)——JNI的常用方法的中文API

    本系列文章如下: Android JNI(一)——NDK与JNI基础 Android JNI学习(二)——实战JNI之“hello world” Android JNI学习(三)——Java与Nati ...

  4. [ 转载 ] Java基础12--基础学习总结——数组

    java基础学习总结——数组 一.数组的基本概念 数组可以看成是多个相同类型数据组合,对这些数据的统一管理. 数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量. 数组的 ...

  5. ZigBee学习四 无线+UART通信

    ZigBee学习四 无线+UART通信 1) 协调器编程 修改coordinator.c文件 byte GenericApp_TransID; // This is the unique messag ...

  6. day 83 Vue学习四之过滤器、钩子函数、路由、全家桶等

    Vue学习四之过滤器.钩子函数.路由.全家桶等   本节目录 一 vue过滤器 二 生命周期的钩子函数 三 vue的全家桶 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 Vue的过滤 ...

  7. TweenMax动画库学习(四)

    目录            TweenMax动画库学习(一)            TweenMax动画库学习(二)            TweenMax动画库学习(三)            Tw ...

  8. PHP学习之中数组-遍历一维数组【2】

    在PHP学习之中数组[1]中学会怎么创建一个数组,如果PHP学习之中数组[1]中的元素多的话,我们访问元素又是一个问题了,下面我们就使用for语句while,foreach来遍历我们的数组: < ...

  9. SVG 学习<四> 基础API

    目录 SVG 学习<一>基础图形及线段 SVG 学习<二>进阶 SVG世界,视野,视窗 stroke属性 svg分组 SVG 学习<三>渐变 SVG 学习<四 ...

  10. SCARA——OpenGL入门学习四(颜色)

    OpenGL入门学习[四] 本次学习的是颜色的选择.终于要走出黑白的世界了~~ OpenGL支持两种颜色模式:一种是RGBA,一种是颜色索引模式. 无论哪种颜色模式,计算机都必须为每一个像素保存一些数 ...

随机推荐

  1. JS地毯式学习四

    1  窗口的位置 用来确定和修改 window 对象位置的属性和方法有很多. IE . Safari . Opera 和 Chrome都提供了 screenLeft 和 screenTop 属性,分别 ...

  2. 【WPF/C#】测试下载文件(图片)

    需求:界面上有一个按钮,点击后联网下载一张PNG图片,保存到本地指定路径. 重要参考: http://stackoverflow.com/questions/24797485/how-to-downl ...

  3. 非分离线程未使用join函数例子:

    //非分离线程未使用join函数例子: #include<stdlib.h> #include<pthread.h> #include<stdio.h> #incl ...

  4. spring4.1.6配置quartz2.2.1(maven) <转>

    Spring3.0不支持Quartz2.0,因为org.quartz.CronTrigger在2.0从class变成了一个interface造成IncompatibleClassChangeError ...

  5. 分别通过【buildpath】和【lib】倒入JAR包有什么不同

    我们可以通过java虚拟机的类加载器来理解.通过buildpath设置(或添加)程序使用jar包的classpath.Java虚拟机是根据Java ClassLoader(类加载器)决定如何,到那里去 ...

  6. ad9 的快捷方式

    TAB:选中元件后,可以显示该元件的属性: PAGEUP:以鼠标所在点为中心,放大视图: PAGEDOWN:以鼠标所在点为中心,缩小视图: HOME:居中,可以从原来光标下的图纸位置,移位到工作区中心 ...

  7. 06 Locking and Latching

    本章提要---------------------------------------------------------------6,7,8,9,10,11 这 6 章要细看, 从本章开始how ...

  8. Navicat连接Oracle11g 错误的解决办法

    一.换成32位的Navicat!!! 二.去Oracle官网下载你要连接数据版本的client. 注意:需要下载两个文件,以11.2.0.4.0版本为例,需要下载 instantclient-sqlp ...

  9. (转)MFC:Windows如何区分鼠标双击和两次单击

    在Windows平台上,鼠标左键的按下.松开.快速的两次点击会产生WM_LBUTTONDOWN.WM_LBUTTONUP和WM_LBUTTONDBLCLK消息,但是Windows根据什么来区分连续的两 ...

  10. bootstrap -- meta中的viewport指令

    在查看bootstrap教程中,碰到 <meta name="viewport" content="width=device-width, initial-scal ...