收藏文章 楼主
学习使用PHP数组
网友【血蜘蛛】 2005-06-20 20:55:45 分享在【时代发展的印记】版块    2    1
原文地址:zdnet.com.cn/developer/code/story/0,2000081534,39246702-1,00.htm

PHP4.0中共有超过30个新的数组相关函数。其中很多通用函数允许你检查给定数组中是否存在特定对象、对数组元素计数、增加或删除元素,或对元素排序。

如果你有很大的一个数组,而所要完成的仅是找出一个存在的给定值,你可以使用in_array()以返回true 或 false。如下代码将输出“Not found in this array”——因为你将在$namesArray中寻找一个并不存在的“Alber ”。

代码:
$lookingFor = "Albert";

if (in_array($lookingFor, $namesArray)) {

echo "You've found it!";

} else {

echo "Not found in this array!";

}

?>

如果你改变了$lookingFor的值,将其变为“Mary”,你将得到消息“You've found it!”——因为“Mary”是$namesArray的一部分。

如果希望对数组元素计数,你可以使用count()函数:

代码:
$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
";

}

?>

这将显示:

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
";

}

?>

这将显示:

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", "green beans", "asparagus", "artichoke", "corn");

/* 合并为一个数组 */

$goodfoodArray = array_merge($fruitArray, $vegArray);

/* 通过其键值列出每个元素*/

while (list($key,$value) = each($goodfoodArray)) {

echo "$key : $value
";

}

?>

这将显示:

0 : apple

1 : orange

2 : banana

3 : kiwi

4 : pear

5 : carrot

6 : green beans

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
";

}

echo "
and finally, in $popped: $popped";

?>

这将显示:

0 : apple

1 : orange

2 : banana

3 : 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
";

}

echo "
and finally, in $shifted: $shifted";

?>

这将显示:

0 : orange

1 : banana

2 : kiwi

3 : pear

and finally, in $shifted: apple

有很多函数可以帮助你对数组元素排序。但我将会演示基本的排序以帮助你了解其过程:

代码:
$fruitArray = array("apple", "orange", "banana", "kiwi", "pear");

/* 排序 */

sort($fruitArray);

/* 对其重设以正确从头到尾显示数组 */

/* 通过其键值列出每个元素*/

while (list($key,$value) = each($fruitArray)) {

echo "$key : $value
";

}

?>

这将显示:

0 : apple

1 : banana

2 : kiwi

3 : orange

4 : pear

出处:builder.com
meiguo.com 发布人签名/座右铭·有时你看似是一件很吃亏的事,往往会变成非常有得的事。
·凡事都留有余地,因为人是人,不是神,不免有错处,可以原谅人的地方,就原谅人。
·好的时候不要看得太好,坏的时候不要看的太坏。
大家都在看
回复/评论列表
默认   热门   正序   倒序
蝶舞门人
2F
太强,不能不顶----
 0   2005-09-15 10:13:48  回复
meiguo.com 创始人

emotion

1   2005-06-20 20:55:45  回复

回复/评论:学习使用PHP数组

暂无用户组 升级
退出
等级:0级
美果:
美过
精华推荐
  1. 在海外漂泊12年后的真实感受
  2. 感恩节餐桌的费用回落,零售商推出了低价套餐!
  3. 中国已经全额缴纳了联合国会费,联合国的财政危机缓解!
  4. 一美分硬币“Penny”铸造历史正式终结
  5. 中美高层通话后… 川普总统计划明年访华,芯片管制也松口了!
  6. 中美两国元首在釜山会晤:就关税、大豆和稀土已经达成共识
  7. AWS最大区域故障,带崩多项服务!
  8. SpaceX在加速IPO计划,目标估值1.5万亿美元!
  9. 中美稀土博弈,美国政策在急转直下!
  10. 45岁后“人生黄金期”是认知和创造力的新高峰
  11. ICE启动了在社交媒体的全天候监控项目
  12. 川普总统正式签属涉台法案,解放军示警!
  13. 川普政府终于听说了日本新首相【高市早苗】因为台海表态引发外交危机的事儿了?
  14. 美国在AI竞争中失利了?阿里千问模型在全球领先
  15. 联邦政府启动“红色日落行动” 审查比特币矿机的供应链
  16. 美国移民局(ICE)新提案打算限制福利使用,有记录者可能影响绿卡申请!
  17. 恢复或加入?重获中国国籍的路径比较
  18. 黄仁勋警示川普政府,再不开放“对华AI芯片出口”就来不及啦!
  19. 英伟达H200芯片的对华销售仍然在受美国的两重限制
  20. 美国司法部起诉了柬埔寨“电信诈骗集团”的头目
  21. 学习英语12年后,终于实现了“美国梦”!
  22. 2026年版的“公共负担”新规复活,华人家庭遭遇精准打击!
  23. 中美经贸磋商“展现战略对称”新态势
  24. 700万人参与了反川普集会?
  25. 美国仍然依赖纸质信件的真相剖析
  26. 美国青少年“67”流行语的现象引关注
  27. 美国政府批准了对台3.3亿美元的军售
  28. 美国“H-1B”签证新规:在境内的申请人,免缴10万美元费用!
  29. 川普政府再次出奇招!拒绝所有胖子的移民申请?
  30. 外国人的入境中国手续简化,可以提前在网上填报入境卡了!
  31. 全球高等教育的新趋势:留学生求学地“多元化”
  32. 人类史上“最贵CEO”诞生!马斯克的“万亿薪酬”背后
  33. 中美AI竞争的新格局已定?
  34. 美国的房地产市场显现了矛盾信号
  35. MIT稳居了CS榜首!美国大学的最新排名出炉
  36. 五角大楼的机密报告:中国导弹可以击沉美军航母
头像

用户名:

粉丝数:

签名:

资料 关注 好友 消息
已有0次打赏
(1) 分享
分享
取消