PHP中共有超过个新的数组相关函数其中很多通用函数允许你检查给定数组中是否存在特定对象对数组元素计数增加或删除元素或对元素排序
如果你有很大的一个数组而所要完成的仅是找出一个存在的给定值你可以使用in_array()以返回true 或 false如下代码将输出Not found in this array——因为你将在$namesArray中寻找一个并不存在的Alber
<? $namesArray = array(Joe Jane Bob Mary Paul Eddie John);
$lookingFor = Albert;
if (in_array($lookingFor $namesArray)) {
echo Youve found it!;
} else {
echo Not found in this array!;
}
?>
如果你改变了$lookingFor的值将其变为Mary你将得到消息Youve found it!——因为Mary是$namesArray的一部分
如果希望对数组元素计数你可以使用count()函数
<? $namesArray = array(Joe Jane Bob Mary Paul Eddie John);
$count = count($namesArray); ?>
$count值将为
你可以对任何数组添加元素无论是在已存在数组的开始或末尾你也可以使用函数以创建一个包含两个或多个数组元素的新数组合并时每个数组将按需要的顺序排列如果你的数组已经有内部的排序你需要对新的合并数组重排序
让我们从对已存在数组的末尾增添元素开始使用函数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>;
}
?>
这将显示
: apple
: orange
: banana
: kiwi
: pear
: grape
: pineapple
: 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>;
}
?>
这将显示
: grape
: pineapple
: tomato
: apple
: orange
: banana
: kiwi
: pear
函数array_merge()合并两个或更多的数组
<? /* 创建原始数组 */
$fruitArray = array(apple orange banana kiwi pear);
<? /* 创建第二个数组 */
$vegArray = array(carrot green beans asparagus artichoke corn);
/* 合并为一个数组 */
$goodfoodArray = array_merge($fruitArray $vegArray);
/* 通过其键值列出每个元素*/
while (list($key$value) = each($goodfoodArray)) {
echo $key : $value<br>;
}
?>
这将显示
: apple
: orange
: banana
: kiwi
: pear
: carrot
: green beans
: asparagus
: artichoke
: 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>and finally in $popped: $popped;
?>
这将显示
: apple
: orange
: banana
: kiwi
and finally in $popped: pear
Next delete an element from the end of an array: ???????????
下面从数组末尾删除某值
<?
/* 创建一数组*/
$fruitArray = array(apple orange banana kiwi pear);
/* 从数组头部移出某值 */
$shifted = array_shift($fruitArray);
/* 列出新数组的内容以及移出的值*/
while (list($key$value) = each($fruitArray)) {
echo $key : $value<br>;
}
echo <br>and finally in $shifted: $shifted;
?>
这将显示
: orange
: banana
: kiwi
: pear
and finally in $shifted: apple
有很多函数可以帮助你对数组元素排序但我将会演示基本的排序以帮助你了解其过程
<? /* 创建原始数组 */
$fruitArray = array(apple orange banana kiwi pear);
/* 排序 */
sort($fruitArray);
/* 对其重设以正确从头到尾显示数组 */
/* 通过其键值列出每个元素*/
while (list($key$value) = each($fruitArray)) {
echo $key : $value<br>;
}
?>
这将显示
: apple
: banana
: kiwi
: orange
: pear