转载请标明出处:
http://blog.csdn.net/hai_qing_xu_kong/article/details/51635540
本文出自:【顾林海的博客】

前言

数组就是一系列数据的集合,把一系列数据组织起来,形成一个可操作的整体。数组array是一组有序的变量,其中每个变量被称为一个元素。每个元素由一个特殊的标识符来区分,这个标识符称为键(也称为下标)。数组中的每个实体都包含两项:键和值。可以通过键值来获取相应数组元素,这些键可以是数值键或关联键。

声明数组

如何声明数组?主要有两种方式:

  1. 应用array()函数声明数组。
  2. 直接通过为数组元素赋值的方式声明数组。

array()函数声明数组的方式如下:

array array ( [mixed ...])

参数说明:
参数mixed的语法为key => value,多个参数mixed间用逗号分开,分别定义了索引和值。索引可以是字符串或数字。如果省略了索引,则会自动产生从0开始的整数索引。如果索引是整数,则下一个产生的索引将是目前最大的整数索引+1。如果定义了两个完全一样的索引,则后面一个会覆盖前一个。数组中的各数据元素的数据类型可以不同,也可以是数组类型。当mixed是数组类型时,就是二维数组

array()函数声明例子1:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<title>PHP语言基础</title></head>
<body><?php
header("Content-Type:text/html;   charset=gb2312");
$array=array("hello","PHP","bill");
print_r($array);
echo "<br>".$array[1];
?></body>
</html>

运行结果:

Array ( [0] => hello [1] => PHP [2] => bill )
PHP

array()函数声明例子2:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<title>PHP语言基础</title></head>
<body><?php
header("Content-Type:text/html;   charset=gb2312");
$array=array("a"=>"hello","b"=>"PHP","c"=>"bill");
print_r($array);
echo "<br>".$array["c"];
?></body>
</html>

运行结果:

Array ( [a] => hello [b] => PHP [c] => bill )
bill

直接为数组元素赋值:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<title>PHP语言基础</title></head>
<body><?php
header("Content-Type:text/html;   charset=gb2312");
$array[1]="hello";
$array["a"]="php";
$array["b"]="bill";
print_r($array);
echo "<br>".$array[1];
echo "<br>".$array["a"];
echo "<br>".$array["b"];
?></body>
</html>

运行结果:

Array ( [1] => hello [a] => php [b] => bill )
hello
php
bill

遍历数组

1.使用foreach结构遍历数组

 遍历数组元素最常用的方法是使用foreach结构。foreach结构并非操作数组本身,而是操作数组的一个备份。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<title>PHP语言基础</title></head>
<body><?php
header("Content-Type:text/html;   charset=gb2312");
$array=array("a"=>"hello","b"=>"PHP","c"=>"bill");
foreach($array as $item){echo $item.'<br>';
}
?></body>
</html>

运行结果:

hello
PHP
bill

2.使用list()函数遍历数组

 把数组中的值赋给一些变量。与array()函数类似,这不是真正的函数,而是语言结构。list()函数仅能用于数字索引的数组,且数字索引从0开始。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<title>PHP语言基础</title></head>
<body><?php
header("Content-Type:text/html;   charset=gb2312");
$array=array("hello","PHP","bill");
list($a,$b,$c)=$array;
echo $a;
?></body>
</html>

运行结果:

hello

字符串与数组的转换

1、使用explode()函数将字符串转换成数组

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<title>PHP语言基础</title></head>
<body><?php
header("Content-Type:text/html;   charset=gb2312");
$str="a,b,c,d,e";
$array=explode(",",$str);
foreach($array as $item){echo $item;
}
?></body>
</html>

运行结果:

abcde

2、使用implode()函数将数组转换成一个新字符串

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<title>PHP语言基础</title></head>
<body><?php
header("Content-Type:text/html;   charset=gb2312");
$array=array("hello","php","bill");
$new_array=implode("-",$array);
echo $new_array;
?></body>
</html>

运行结果:

hello-php-bill

统计数组元素个数

使用count()函数对数组中的元素个数进行统计。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<title>PHP语言基础</title></head>
<body><?php
header("Content-Type:text/html;   charset=gb2312");
$array=array("hello","php","bill");
echo count($array);
?></body>
</html>

运行结果:

3

查询数组中指定元素

array_search()函数,在数组中搜索给定的值,找到后返回键名,否则返回false。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<title>PHP语言基础</title></head>
<body><?php
header("Content-Type:text/html;   charset=gb2312");
$array=array("a"=>"hello","b"=>"php","c"=>"bill");
echo array_search("php",$array);
?></body>
</html>

运行结果:

b

获取数组中最后一个元素

通过函数array_pop()获取数组中的最后一个单元。array_pop()函数获取并返回数组的最后一个单元,并将数组的长度减1,如果数组为空(或者不是数组)将返回null。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<title>PHP语言基础</title></head>
<body><?php
header("Content-Type:text/html;   charset=gb2312");
$array=array("a"=>"hello","b"=>"php","c"=>"bill");
$item=array_pop($array);
echo $item.'<br>';
print_r($array);?></body>
</html>

运行结果:

bill
Array ( [a] => hello [b] => php )

向数组中添加元素

通过array_push()函数向数组中添加元素。array_push()函数将数组当成一个栈,将传入的变量压入该数组的末尾,该数组的长度将增加入栈变量的数目,返回数组新的单元总数。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<title>PHP语言基础</title></head>
<body><?php
header("Content-Type:text/html;   charset=gb2312");
$array=array("hello","php","bill");
array_push($array,"java","c#");
print_r($array);?></body>
</html>

运行结果:

Array ( [0] => hello [1] => php [2] => bill [3] => java [4] => c# )

删除数组中重复元素

通过array_unique()函数删除数组中重复的元素。array_unique()函数,将值作为字符串排序,然后对每个值只保留第一个键名,忽略所有后面的键名,即删除数组中重复的元素。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<title>PHP语言基础</title></head>
<body><?php
header("Content-Type:text/html;   charset=gb2312");
$array=array("hello","php","bill","java","php");
$result=array_unique($array);
print_r($result);?></body>
</html>

运行结果:

Array ( [0] => hello [1] => php [2] => bill [3] => java )

PHP学习笔记-数组相关推荐

  1. c语言中void arrout,c语言学习笔记(数组、函数

    <c语言学习笔记(数组.函数>由会员分享,可在线阅读,更多相关<c语言学习笔记(数组.函数(53页珍藏版)>请在人人文库网上搜索. 1.数组2010-3-29 22:40一维数 ...

  2. Go语言学习笔记-数组、切片、map

    Go语言学习笔记-数组.切片.map 数组:同一数据类型元素的集合.是值类型,长度固定无法修改 声明格式:var 数组名字 [元素数量] 数据类型 var arr [3] int //声明定义了一个长 ...

  3. Java 学习笔记 - 数组类型互转

    Java 学习笔记 - 数组类型互转 数组类型转换 字符串数组 to (Integer.Long.Double)列表 传统方式 Java8 Stream方式 数组 to 数组 字符串数组 to (in ...

  4. C 学习笔记 - 数组

    在学习了 C 语言的数组之后,我发现 C 中的数组与 C# 中的数组除了书写形式上略有区别,其它的基本上都一模一样. 因为之前有 C# 的底子,所有学习 C 语言,感觉也挺轻松的,不过 C 和 C# ...

  5. php 学习笔记 数组1

    1.一般情况下$name['tom']和$name[tom]是相同的:但没有引号的键不能和常量区别开,如:define('index', 5)时:$name['tom']和$name[tom]不同 2 ...

  6. JAVA学习笔记--数组初始化

    JAVA中,数组只是相同类型的.用一个标识符名称封装到一起的一个对象序列或基本类型数据序列.数组通过方括号下标操作符[]来定义和使用,要定义一个数组只需在类型名后面加上一个方括号即可,如: int[] ...

  7. php 学习笔记 数组2

    10.切割数组 array_slice(array, offset, length);返回一个由原始数组中的连续元素组成的新数组,参数1为原始数组,参数2为要复制的起始位置, 参数3要复制的个数:新数 ...

  8. Java学习笔记#数组的初始化方式

    数组的初始化方式一共有三种:静态初始化,动态初始化,默认初始化. 1 package cn.sxz.arrays; 2 /** 3 * 测试数组的三种初始化方式 4 * @author xingzhu ...

  9. scala学习笔记-数组转换(8)

    使用yield和函数式编程转换数组 1 // 对Array进行转换,获取的还是Array2 val a = Array(1, 2, 3, 4, 5)3 val a2 = for (ele <- ...

最新文章

  1. 使用javascript模拟常见数据结构(二)
  2. 杂项相关工具的使用方法(边刷题边更新...)
  3. HandlerInterceptorAdapter或HandlerInterceptor的使用
  4. vb treeview 展开子节点_C# / VB.NET 在PPT中创建、编辑PPT SmartArt图形
  5. android变量要不要附空值,android-如何在使用Parcelable时序列化空值
  6. GitHub 热点速览 | 极客们都在玩这些 Terminal!
  7. postgre sql安装时忘记之前密码时如何处理。
  8. 【C语言】19-static和extern关键字1-对函数的作用
  9. 医院计算机网络信息安全与管理,医院信息安全管理制度网络版(全文完整版)...
  10. 利用HTML完成登陆界面设计
  11. JS点击按钮打开新的独立页面
  12. Android App性能流畅度测评分析可以用到工具
  13. ionic4自定义插件
  14. winXP系统在“我的电脑”里打不开FAT32的U盘(8G)的一种解决办法
  15. 用户画像:标签化就是数据的抽象能力
  16. 杨百万:上周四全仓杀入股市 这波反弹不是牛市新起点
  17. Android Studio使用OpenCV进行图像基本处理
  18. 这本书我至少看了三遍
  19. rp官方提供的打包开发版文件系统的方式
  20. da0809 c语言程序,ADC0809做AD转换和DA转换的C程序.doc

热门文章

  1. linux bash基础
  2. 关于页面元素在父容器里水平居中、垂直居中的问题
  3. 文件目录Android SDK目录结构
  4. 两个经典递归问题:菲波那契数列 + 汉诺塔
  5. Request: Headless HTML rendering engine
  6. Asp.net SignalR 实现服务端消息推送到Web端
  7. Nginx处理请求的11个阶段
  8. WCF之元数据交换 (Metadata Exchange)
  9. android开发环境搭建教程
  10. Yii ActiveRecord 的via和viaTable示例