一、定义数组

(1)索引数组

$arr=array(1,2,3,3);

(2)关联数组  类似于集合

$arr1=array("one"=>"111","two"=>"222");

(3)赋值定义数组:

$arr2["one"]="aaaa";

注:

强类型语言数组的三个特点:

1、  数组里面只能存储同类型数据

2、  数组的长度固定

3、  在内存里是连续的

Php属于弱类型语言

二、数组操作

1、数组取值

(1)var_dump($arr1);

(2)$arr1["two"];

2、删除元素

unset($arr[0]);

3、添加元素

$arr2[key]=value;

4、追加元素(在最后一个数组后面添加)

(1)$arr2[]=1;

(2)array_push($arr,12);

三、遍历数组 (第二种重要)

1、for循环 只能遍历索引数组

$arr=array(1,2,3,3);

for ($i=0;$i<count($arr);$i++){

echo $arr[$i]."<br />";

}

$arr1=array("one"=>"111","two"=>"222");

2、foreach循环  第一次循环把1交给v,第二次把2交给v  可以遍历索引和关联数组

/*$arr=array(1,2,3,3);

foreach($arr as $v)

{

echo $v."<br />";

}

foreach($arr as $k=>$v)

{

echo $k."----".$v."<br />";

}

注:

(1)强类型语言   foreach(int i in arr) {}

(2)js     for (var a in arr){} a取出的是key

3、list()函数和each()函数结合遍历

(1)$arr=array(1,2,3,3);

var_dump(each($arr));

取出当前指针指向的元素,返回新的数组(该数组包含key和value,,将指针向后移一个)

(2)list($a,$b,$c,$d)=$arr;  //将右侧数组的元素交给一组变量

echo $c;

$arr=array(1,2,3,3);

while (list($k,$v)=each($arr)){

echo "{$k}={$v}<br />";

}

4、指针遍历

next($arr); //将指针向后挑一个

prev($arr);  //将指针向前挑一个

reset($arr);//重置指针

end($arr);//将指针达到最后一个

echo current($arr); //取当前指针指向的元素的值

echo key($arr) //取当前指针指向的元素的//索引

do

{current($arr)      // 先执行循环体后走条件

}

while{next($arr)

}

注:  while循环:先走条件后走循环体  while循环无法输出第一个数,所以此处不用while循环

Eg:

while (list($k,$v)=each($arr)){

echo "{$k}={$v}<br />";

}

reset($arr);  //  不加这个输出5个,不然10个

while (list($k,$v)=each($arr)){

echo "{$k}={$v}<br />";

}

四、五如下:

php数组--2017-04-16的更多相关文章

  1. 2017.1.16【初中部 】普及组模拟赛C组总结

    2017.1.16[初中部 ]普及组模拟赛C组 这次总结我赶时间,不写这么详细了. 话说这次比赛,我虽然翻了个大车,但一天之内AK,我感到很高兴 比赛 0+15+0+100=115 改题 AK 一.c ...

  2. Java 将字节数组转化为16进制的多种方案

    很多时候我们需要将字节数组转化为16进制字符串来保存,尤其在很多加密的场景中,例如保存密钥等.因为字节数组,除了写入文件或者以二进制的形式写入数据库以外,无法直接转为为字符串,因为字符串结尾有\0,当 ...

  3. Ubuntu LTS 系统学习使用体会和实用工具软件汇总 6.04 8.04 10.04 12.04 14.04 16.04

    Ubuntu LTS 系统学习体会和工具软件汇总 6.04 8.04 10.04 12.04 14.04 16.04 ubuntu入门必备pdf:http://download.csdn.net/de ...

  4. 2017.9.16~17,热烈庆祝共创力罗老师《敏捷MINI体验式实战培训》在某大型企业成功举办!

    2017.9.16~17日,深圳市共创力企业管理咨询有限公司为某上市企业提供了为期两天的内训服务.该次内训的主题为<敏捷MINI体验式实践培训>,为期两天.此次培训由共创力资深讲师Geor ...

  5. JAVA中将byte[]数组转成16进制字符串

    方法一: /** * byte数组转化为16进制字符串 * @param bytes * @return */ public static String byteToHexString(byte[] ...

  6. http://www.liangxiansen.cn/2017/04/06/consul/

    Consul 使用手册 | 一个梦 http://www.liangxiansen.cn/2017/04/06/consul/ 基于Consul的分布式锁实现 https://mp.weixin.qq ...

  7. Java-Runoob-高级教程-实例-数组:04. Java 实例 – 数组反转

    ylbtech-Java-Runoob-高级教程-实例-数组:04. Java 实例 – 数组反转 1.返回顶部 1. Java 实例 - 数组反转  Java 实例 以下实例中我们使用 Collec ...

  8. Ubuntu 14.04 16.04 Linux nvidia 驱动下载与安装

    Ubuntu 14.04 16.04 nvidia 驱动安装 最简单直观的方式是在如下的对话框中直接选择驱动安装即可 但是有时候,驱动不够新,比如14.04用的是340.98版本,如果手动安装驱动可以 ...

  9. Ubuntu网络配置IP和DNS等,适用于14.04,16.04和17.10

    本文主要介绍Ubuntu系统的网络设置,包括IP,DNS和主机名等,适用于14.04,16.04和17.10等版本 ===============  完美的分割线 ================ = ...

  10. jetbrains idea/webstorm等(注册,激活,破解码,一起支持正版,最新可用)(2017.3.16更新)【转】

    选择 License server (2017.3.16更新) http://idea.imsxm.com/ 详细请参考:  http://www.cnblogs.com/ys-wuhan/p/584 ...

随机推荐

  1. Lambda表达式和Java集合框架

    本文github地址 前言 我们先从最熟悉的Java集合框架(Java Collections Framework, JCF)开始说起. 为引入Lambda表达式,Java8新增了java.util. ...

  2. 编程那些事儿:如何快速地"借用"CSS

    做前端开发有时候会碰到任务紧急,需要马上写好静态页的问题.比如,设计师给你扔了一个设计稿,要你在下班之前搞定.这时候你如热锅上的蚂蚁,如果自己写css的话,时间紧张,于是上网找了一下相关模板页面,找到 ...

  3. ER图是啥?

    文章转载自「开发者圆桌」一个关于开发者入门.进阶.踩坑的微信公众号 E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型.属性和联系的方法,用来描述现 ...

  4. 锋利的jQuery事件

    一:事件 1.鼠标事件 (1)$()是$(document)的简写,默认参数是document. $(function(){}是$(document).ready(function(){})的简写. ...

  5. AndroidStudio运行项目出现Unsupported method: AndroidProject.getPluginGeneration()错误解决办法

    一.错误描述 今天在使用AndroidStudio运行项目时出现了一个Unsupported method: AndroidProject.getPluginGeneration()错误,如下图所示: ...

  6. .NET Core 1.1日期解析无APi、SQL Server数据转换JSON

    前言 在批量导入Excel中的数据时发现出生日期为整数也就是为天数,结果倒腾了翻,这是其一,其二是数据库中的某一列存的是JSON数据,但是场景是为了作为作业来运行,此时不得不将筛选出的数据手动拼接成J ...

  7. struts2学习笔记 ⑤

    拦截器初探 昨天临睡觉之前看了看拦截器,也在昨天的学习笔记里面胡诌诌了几句,今天就来好好的会会拦截器这个东西.实际上拦截器是一种模块实现的机制<起码我是这么体会的>(至于说书里面说体现了A ...

  8. Hibernate二级缓存原理

    缓存:缓存是什么,解决什么问题? 位于速度相差较大的两种硬件/软件之间的,用于协调两者数据传输速度差异的结构,均可称之为缓存Cache.缓存目的:让数据更接近于应用程序,协调速度不匹配,使访问速度更快 ...

  9. mybatis基础学习4---懒加载和缓存

    1:懒加载 1)在主配置文件设置(要放在配置文件最前面) <!-- 延迟加载配置,两个都必须同时有 --> <settings> <!-- lazyLoadingEnab ...

  10. ASP.NET Core MVC 源码学习:Routing 路由

    前言 最近打算抽时间看一下 ASP.NET Core MVC 的源码,特此把自己学习到的内容记录下来,也算是做个笔记吧. 路由作为 MVC 的基本部分,所以在学习 MVC 的其他源码之前还是先学习一下 ...