当前位置: 首页 > 图文教程 > 网络编程 > PHP > 学习使用PHP数组
如果你有很大的一个数组,而所要完成的仅是找出一个存在的给定值,你可以使用in_array()以返回true或false。如下代码将输出“Notfoundinthisarray”——因为你将在$namesArray中寻找一个并不存在的“Alber”。 <?$namesArray=array("Joe","Jane","Bob","Mary","Paul","Eddie","John"); $lookingFor="Albert"; if(in_array($lookingFor,$namesArray)){ echo"You'vefoundit!"; }else{ echo"Notfoundinthisarray!"; } ?> 如果你改变了$lookingFor的值,将其变为“Mary”,你将得到消息“You'vefoundit!”——因为“Mary”是$namesArray的一部分。 如果希望对数组元素计数,你可以使用count()函数: <?$namesArray=array("Joe","Jane","Bob","Mary","Paul","Eddie","John"); $count=count($namesArray);?> $count值将为7。 你可以对任何数组添加元素,无论是在已存在数组的开始或末尾。你也可以使用函数以创建一个包含两个或多个数组元素的新数组。合并时每个数组将按需要的顺序排列。如果你的数组已经有内部的排序,你需要对新的合并数组重排序。 让我们从对已存在数组的末尾增添元素开始,使用函数array_push(): <?/*创建原始数组*/ $fruitArray=array("apple","orange","banana","kiwi","pear"); /*加入到原始数组中*/ array_push($fruitArray,"grape","pineapple","tomato"); /*通过其键值列出每个元素*/ while(list($key,$value)=each($fruitArray)){ echo"$key:$value<br>"; } ?> 这将显示: 0:apple 1:orange 2:banana 3:kiwi 4:pear 5:grape 6:pineapple 7:tomato 当你需要对数组开头添加元素时,代码非常类似。不同处只是函数名:array_unshift()而不是array_push()。 <?/*创建原始数组*/ $fruitArray=array("apple","orange","banana","kiwi","pear"); /*加入到原始数组中*/ array_unshift($fruitArray,"grape","pineapple","tomato"); /*通过其键值列出每个元素*/ while(list($key,$value)=each($fruitArray)){ echo"$key:$value<br>"; } ?> 这将显示: 0:grape 1:pineapple 2:tomato 3:apple 4:orange 5:banana 6:kiwi 7:pear 函数array_merge()合并两个或更多的数组。 <?/*创建原始数组*/ $fruitArray=array("apple","orange","banana","kiwi","pear"); <?/*创建第二个数组*/ $vegArray=array("carrot","greenbeans","asparagus","artichoke","corn"); /*合并为一个数组*/ $goodfoodArray=array_merge($fruitArray,$vegArray); /*通过其键值列出每个元素*/ while(list($key,$value)=each($goodfoodArray)){ echo"$key:$value<br>"; } ?> 这将显示: 0:apple 1:orange 2:banana 3:kiwi 4:pear 5:carrot 6:greenbeans 7:asparagus 8:artichoke 9:corn 现在已经对数组进行了增加元素和合并,现在来练习删除元素函数。你可以使用函数array_pop()从一数组末尾删除一个元素。如果使用函数array_shift(),则从一数组开头删除一个元素。而实际上当你从数组删除元素时,此元素对你而言仍然可用——当你从已存在的数组中对元素进行pop或shift时。 使用array_pop()函数从数组末尾删除一个值: <? /*创建一数组*/ $fruitArray=array("apple","orange","banana","kiwi","pear"); /*在末尾弹出某值*/ $popped=array_pop($fruitArray); /*列出新数组内容,以及弹出的值*/ while(list($key,$value)=each($fruitArray)){ echo"$key:$value<br>"; } echo"<br>andfinally,in$popped:$popped"; ?> 这将显示: 0:apple 1:orange 2:banana 3:kiwi andfinally,in$popped:pear Next,deleteanelementfromtheendofanarray:??????????? 下面,从数组末尾删除某值: <? /*创建一数组*/ $fruitArray=array("apple","orange","banana","kiwi","pear"); /*从数组头部移出某值*/ $shifted=array_shift($fruitArray); /*列出新数组的内容以及移出的值*/ while(list($key,$value)=each($fruitArray)){ echo"$key:$value<br>"; } echo"<br>andfinally,in$shifted:$shifted"; ?> 这将显示: 0:orange 1:banana 2:kiwi 3:pear andfinally,in$shifted:apple 有很多函数可以帮助你对数组元素排序。但我将会演示基本的排序以帮助你了解其过程: <?/*创建原始数组*/ $fruitArray=array("apple","orange","banana","kiwi","pear"); /*排序*/ sort($fruitArray); /*对其重设以正确从头到尾显示数组*/ /*通过其键值列出每个元素*/ while(list($key,$value)=each($fruitArray)){ echo"$key:$value<br>"; } ?> 这将显示: 0:apple 1:banana 2:kiwi 3:orange 4:pear |
评论 (0) All