收藏文章 楼主
学习使用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. 中美贸易的争端升级,中国实施“长臂管辖”颁布3项针对性措施!
  2. 恢复或加入?重获中国国籍的路径比较
  3. AWS最大区域故障,带崩多项服务!
  4. 中美因为“稀土管制”引发的贸易摩擦升级了
  5. 美国青少年“67”流行语的现象引关注
  6. 中美两国元首在釜山会晤:就关税、大豆和稀土已经达成共识
  7. 中美经贸磋商“展现战略对称”新态势
  8. 一美分硬币“Penny”铸造历史正式终结
  9. 骨胶水的研发获突破,临床试验显示了安全有效!
  10. 川普总统宣布加沙战争结束,峰会聚焦“中东和平”!
  11. 川普政府再次出奇招!拒绝所有胖子的移民申请?
  12. 美国司法部起诉了柬埔寨“电信诈骗集团”的头目
  13. 美国的房地产市场显现了矛盾信号
  14. 美国在AI竞争中失利了?阿里千问模型在全球领先
  15. 45岁后“人生黄金期”是认知和创造力的新高峰
  16. 全球高等教育的新趋势:留学生求学地“多元化”
  17. 华人购房遭遇国籍歧视,法院裁决后依然隐忧犹存!
  18. 川普政府“双失利”?
  19. 美国“H-1B”签证新规:在境内的申请人,免缴10万美元费用!
  20. 人类史上“最贵CEO”诞生!马斯克的“万亿薪酬”背后
  21. 马斯克的模块化生产技术在革新汽车行业
  22. 川普政府打算发放两千美元的关税补贴
  23. 联邦法院驳回了川普政府的“出生公民权”行政令
  24. 谷歌的科学家已经连续两年摘得了诺贝尔奖
  25. 佛罗里达的一名中学生在AI提问,然后被捕了!
  26. 中国已经全额缴纳了联合国会费,联合国的财政危机缓解!
  27. 学习英语12年后,终于实现了“美国梦”!
  28. 中美稀土博弈,美国政策在急转直下!
  29. 美国政府批准了对台3.3亿美元的军售
  30. MIT稳居了CS榜首!美国大学的最新排名出炉
  31. 中美航班“绕行俄罗斯领空”政策引关注
  32. 700万人参与了反川普集会?
  33. 川普总统签署了备忘录,贩毒集团成为“国家之敌”!
  34. ICE启动了在社交媒体的全天候监控项目
  35. 中美AI竞争的新格局已定?
  36. 黄仁勋警示川普政府,再不开放“对华AI芯片出口”就来不及啦!

美国动态 美果搜索

Your IP: 216.73.216.137, 2025-11-29 02:53:21

Processed in 0.05055 second(s)

头像

用户名:

粉丝数:

签名:

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