一、定义数组

(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. alisql安装步骤

    卸载原有自带的Mysql yum remove mysql-libs   安装依赖包 yum install centos-release-scl devtoolset-4-gcc-c++ devto ...

  2. 基于 socket.io, 简单实现多平台类似你猜我画 socket 数据传输

    一.前言 socket.io 实现了实时双向的基于事件的通讯机制,是基于 webSocket 的封装,但它不仅仅包括 webSocket,还对轮询(Polling)机制以及其它的实时通信方式封装成了通 ...

  3. 又见Bug

    文章转载自「开发者圆桌」一个关于开发者入门.进阶.踩坑的微信公众号 作为一名开发者,如何解决遇到的问题.异常或Bug,是开发者必须要面对的,尽管问题很多,情况复杂,但还是有方法和技巧可寻的. 问题无非 ...

  4. 使用Visual Studio 2017作为Linux C++开发工具

    Visual Studio 2017 微软的宇宙第一IDE Visual Studio 2017正式版出来了,地址是:https://www.visualstudio.com/vs/whatsnew/ ...

  5. ACM 重建二叉树

    重建二叉树 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 题目很简单,给你一棵二叉树的后序和中序序列,求出它的前序序列(So easy!).   输入 输入有多组数 ...

  6. 小白该怎么学《马哥Linux从入门到精通》

    首先,必须说明我已经不是小白啦~现在的我在国内某独角兽担任运维工程师,带着一个四人小团队,在运维方面也算是有些心得,勉强过来回答一下这个问题,就算抛砖引玉了. 所有人都是从小白阶段过来的,我=也经历过 ...

  7. git 关键词扩展

    用习惯了svn 的 关键词扩展.自然在git上也会寻找. 不知道啥是svn的关键词扩展? 简单列举下: 对于subversion来说,一些版本信息是不需要手动添加的,subversion提供了关键字替 ...

  8. laravel的延迟消息队列

    laravel的延迟消息队列 这篇来自于看到朋友转的58沈剑的一篇文章:1分钟实现"延迟消息"功能(http://mp.weixin.qq.com/s?__biz=MjM5ODYx ...

  9. ehcache 使用笔记

    要想使用 java 的本地缓存,可以考虑用 ehcache,或者 guava. guava 更高端一点,可以自动定时刷新.我选择了 ehcache. 在 spring 中是集成了 ehcache 的. ...

  10. Java线程池使用和分析(一)

    线程池是可以控制线程创建.释放,并通过某种策略尝试复用线程去执行任务的一种管理框架,从而实现线程资源与任务之间的一种平衡. 以下分析基于 JDK1.7 以下是本文的目录大纲: 一.线程池架构 二.Th ...