数组分类:

  1.索引数组. 索引值从0开始,依次递增。

  2.使用array()函数声明数组

  1. <?php
  2. // 1.直接为数组元素赋值即可声明数组
  3. $contact_index[0] = 1;
  4. $contact_index[1] = "高某";
  5. $contact_index[2] = "A公司";
  6. $contact_index[3] = "北京市";
  7. $contact_index[] = "gao@a.com";
  8. var_dump($contact_index);
  9. $contact_key["ID"] = "2";
  10. $contact_key["姓名"] = "峰某";
  11. $contact_key["公司"] = "B公司";
  12. $contact_key["邮箱"] = "feng@b.com";
  13. var_dump($contact_key);
  14. // 2.使用array()函数声明数组
  15. $contact_key_array = array(
  16. "ID" => 1;
  17. "姓名" => "峰某";
  18. "公司" => "B公司";
  19. "邮箱" => "feng@b.com";
  20. );
  21. var_dump($contact_key_array);
  22. ?>

 数组的遍历:

  1.for语句遍历数组

  2.foreach语句遍历数组

  1. <?php
  2. //用for语句遍历数组
  3. $cars=array("Volvo","BMW","SAAB");
  4. $arrlength=count($cars);
  5. for($i=0;$i<$arrlength;$i++) {
  6. echo $cars[$i];
  7. echo "<br>";
  8. }
  9. ?>
  10. <?php
    //foreach语句遍历关联数组
  11. $age=array("Bill"=>"35","steve"=>"37","peter"=>"43");
  12. foreach($age as $x=>$x_value) {
  13. echo "Key=".$x.", Value=".$x_value;
  14. echo "<br>";
  15. }
  16. ?>

 预定义数组

  1.它就是一个特殊数组,操作方式没有区别。

  2.不用声明它们,每个php脚本中默认存在。

  3.它们在全局范围内自动生效。

预定义数组     说明

$_SERVER    变量由web服务器设定或者直接与当前脚本的执行环境相关联

  $_ENV         执行环境提交至脚本的变量

  $_GET   经由URL请求提交至脚本的变量

  $_POST   经由HTTP POST 方法提交至标本的变量

  $_REQUEST 经由GET,POST,COOKIE机制提交至脚本的变量

  $_FILES   经由HTTP POST 文件上传而提交至脚本的变量

  $_COOKIE  经由HTTP Cookie 方法提交至脚本的变量

  $_SESSION   当前注册给脚本会话的变量

  $_GLOBALS   包含一个引用指向每个当前脚本的全局范围内的有效的变量,该数组的键名 为全局变量的名称。

合并数组

array_merge()函数将数组合并到一起,返回一个联合的数组。

array array_merge(array array1 array2.....arrayN)

  1. <?php
  2. $fruits=array("apaple","banana","pear");
  3. $numbered=array("1","2","3");
  4. $cards=array_merge($fruits,$numbered);
  5. print_r($cards);
    // output
    //Array ( [0] => apaple [1] => banana [2] => pear [3] => 1 [4] => 2 [5] => 3 )
  6. ?>

 拆分数组

array_slice()函数将返回数组中的一部分,从键offset开始,到offset+length位置结束

 array array_slice(array array,int offset,[int length])

 offset 为正值时从前面开始,为负数时从后面开始

  1. <?php
  2. $fruits = array("Apple", "Banana", "Orange", "Pear", "Grape", "Lemon","Watermelon");
  3. $subset=array_slice($fruits,3);
  4. print_r($subset);
    //output
    //Array ( [0] => Pear [1] => Grape [2] => Lemon [3] => Watermelon )
  5. ?>
  6.  
  7. <?php
    $fruits = array("Apple", "Banana", "Orange", "Pear", "Grape", "Lemon","Watermelon");
    $subset=array_slice($fruits,2,-2);
    print_r($subset);
    //output
    //Array ( [0] => Orange [1] => Pear [2] => Grape )
    ?>

数组头添加元素:

array_unshift函数在数组头添加元素

  1. <?PHP
  2. $fruits = array("Apple", "Banana", "Orange", "Pear", "Grape", "Lemon");
  3. array_unshift($fruits,"AAAA","BBBB");
  4. print_r($fruits);
  5. //output
  6. //Array ( [0] => AAAA [1] => BBBB [2] => Apple [3] => Banana [4] => Orange [5] => Pear [6] => Grape [7] => Lemon )
  7.  
  8. ?>

数组头删除元素:

array_shift删除数组头元素

  1. <?php
  2. $fruits = array("Apple", "Banana", "Orange", "Pear", "Grape", "Lemon");
  3. array_shift($fruits);
  4. print_r($fruits);
  5. //output
  6. //Array ( [0] => Banana [1] => Orange [2] => Pear [3] => Grape [4] => Lemon )
  7. ?>

数组尾部添加元素:

array_push函数在数组尾部添加元素

  1. <?php
  2. $fruits = array("Apple", "Banana", "Orange", "Pear", "Grape", "Lemon");
  3. array_push($fruits,"AAAA","BBBB");
  4. print_r($fruits);
  5. //output
  6. //Array ( [0] => Apple [1] => Banana [2] => Orange [3] => Pear [4] => Grape [5] => Lemon [6] => AAAA [7] => BBBB )
  7.  
  8. ?>

 数组尾部删除元素:

array_pop函数删除数组尾部元素,返回的是数组的最后一个元素。

  1. <?php
  2. $fruits = array("Apple", "Banana", "Orange", "Pear", "Grape", "Lemon");
  3. $result=array_pop($fruits);
  4. print_r($result);
  5. echo "<br>";
  6. print_r($fruits);
  7. //output
  8. //$result 返回Lemon
  9. //$fruits 返回Array ( [0] => Apple [1] => Banana [2] => Orange [3] => Pear [4] => Grape )
  10. ?>

php之数组的更多相关文章

  1. javascript中的Array对象 —— 数组的合并、转换、迭代、排序、堆栈

    Array 是javascript中经常用到的数据类型.javascript 的数组其他语言中数组的最大的区别是其每个数组项都可以保存任何类型的数据.本文主要讨论javascript中数组的声明.转换 ...

  2. 探究javascript对象和数组的异同,及函数变量缓存技巧

    javascript中最经典也最受非议的一句话就是:javascript中一切皆是对象.这篇重点要提到的,就是任何jser都不陌生的Object和Array. 有段时间曾经很诧异,到底两种数据类型用来 ...

  3. 编写高质量代码:改善Java程序的151个建议(第5章:数组和集合___建议75~78)

    建议75:集合中的元素必须做到compareTo和equals同步 实现了Comparable接口的元素就可以排序,compareTo方法是Comparable接口要求必须实现的,它与equals方法 ...

  4. 了解PHP中的Array数组和foreach

    1. 了解数组 PHP 中的数组实际上是一个有序映射.映射是一种把 values 关联到 keys 的类型.详细的解释可参见:PHP.net中的Array数组    . 2.例子:一般的数组 这里,我 ...

  5. JavaScript权威指南 - 数组

    JavaScript数组是一种特殊类型的对象. JavaScript数组元素可以为任意类型,最大容纳232-1个元素. JavaScript数组是动态的,有新元素添加时,自动更新length属性. J ...

  6. JavaScript常见的五种数组去重的方式

    ▓▓▓▓▓▓ 大致介绍 JavaScript的数组去重问题在许多面试中都会遇到,现在做个总结 先来建立一个数组 var arr = [1,2,3,3,2,'我','我',34,'我的',NaN,NaN ...

  7. js:给定两个数组,如何判断他们的相对应下标的元素类型是一样的

    题目: 给Array对象原型上添加一个sameStructureAs方法,该方法接收一个任意类型的参数,要求返回当前数组与传入参数数组(假定是)相对应下标的元素类型是否一致. 假设已经写好了Array ...

  8. javascript数组查重方法总结

    文章参考地址:http://blog.csdn.net/chengxuyuan20100425/article/details/8497277 题目 对下列数组去重: var arr = ['aa', ...

  9. 掌握javascript中的最基础数据结构-----数组

    这是一篇<数据结构与算法javascript描述>的读书笔记.主要梳理了关于数组的知识.部分内容及源码来自原作. 书中第一章介绍了如何配置javascript运行环境:javascript ...

  10. 小兔JS教程(四)-- 彻底攻略JS数组

    在开始本章之前,先给出上一节的答案,参考答案地址: http://www.xiaotublog.com/demo.html?path=homework/03/index2 1.JS数组的三大特性 在J ...

随机推荐

  1. webpack热更新问题和antd design字体图标库扩展

    标题也不知道怎么写好,真是尴尬.不过话说回来,距离上一次写文快两个月了,最近有点忙,一直在开发新项目, 今天刚刚闲下来,项目准备提测.借这个功夫写点东西,把新项目上学到的一些好的干活分享一下,以便之后 ...

  2. 中国剩余定理(CRT)与欧拉函数[数论]

    中国剩余定理 ——!x^n+y^n=z^n 想必大家都听过同余方程这种玩意,但是可能对于中国剩余定理有诸多不解,作为一个MOer&OIer,在此具体说明. 对于同余方程: x≡c1(mod m ...

  3. ASP.NET MVC Bundles 用法和说明(打包javascript和css)

    本文主要介绍了ASP.NET MVC中的新功能Bundles,利用Bundles可以将javascript和css文件打包压缩,并且可以区分调试和非调试,在调试时不进行压缩,以原始方式显示出来,以方便 ...

  4. TypeScript--变量及类型的那些事儿

    变量(类型)声明 格式:关键字  变量名称:类型=值 (强类型)     /   关键字  变量名称=值 例子: Array数组声明   Tuple元组类型 声明一个包含多类型的数组: Enum枚举类 ...

  5. Java第三次上课课堂试验博文

    1.Java字段初始化的规律: 运行如下所示的代码 package demo; public class InitializeBlockDemo { /** * @param args */ publ ...

  6. Linux(8)查看服务器系统信息

    查看服务器系统信息 ql@ql:~$ uname -n -r -p -o ql 4.2.0-35-generic x86_64 GNU/Linux ql@ql:~$ 查看linux系统类型和版本 ql ...

  7. CentOS服务器运维监控Nagios(一)

    CentOS下搭建Nagios 王尚 2014.11.09 操作系统:CentOS-6.5-i386-bin-DVD1.iso 安装在VM中进行测试的. 本章需要的软件链接: php-5.3.2.ta ...

  8. windows安装设备的驱动程序软件遇…

    问题描述: 有时候我们在使用一些设备的时候需要获取电脑的驱动.安装方式一共有三种: 第一种是让系统自动更新和安装. 第二种是打开"资源管理器"选择指定文件夹路径更新. 第三种是使用 ...

  9. NYOJ--STL--擅长排列的小明(强大的string :: iterator 和next_permutation)

    NYOJ--STL--擅长排列的小明 #include <iostream> #include <string> #include <algorithm> usin ...

  10. Ruby01: Beginner

    中整個早上都忙著作業,看來是假期懶了一下現在現眼報吧哈哈.在上課之前發一下Ruby 的首章,算是倉促的開始吧. puts puts "Once upon a time... there's ...