收藏文章 楼主
学习使用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. 川普总统的“科技巨头宴”收获千亿级的投资承诺
  2. 美国“风行者”超大运输机计划曝光
  3. 美国市场的智能手机“印度制造”的份额激增
  4. 中美元首长“电话粥”,聚焦经贸和TikTok合作!
  5. 联邦法院驳回了川普政府的“出生公民权”行政令
  6. 中美两国在马德里谈判,聚焦TikTok和关税问题!
  7. 福建舰“电磁弹射系统技术”获全球关注
  8. 佛罗里达的一名中学生在AI提问,然后被捕了!
  9. 最高法院裁定:支持川普政府的移民执法政策
  10. Zillow和Redfin“摊上大事儿”!五大州的总检察长起诉了房产平台合谋做局
  11. 美国签证新规:申请人须回母国面谈
  12. TikTok美国业务的“合规运营”方案细节披露
  13. 美股市值突破“全球GDP半数”大关
  14. 联合国大会“史上最尴尬”一幕:他上台后,观众纷纷撤离!
  15. 大学排名更新:顶尖学府稳固,新兴学校快速上升
  16. 川普政策变动,竟然催生了智利的生育旅游热潮?
  17. 美国的七大都会区“房市调头”,买方作主了!
  18. 川普总统签署了备忘录,贩毒集团成为“国家之敌”!
  19. 川普总统在联合国演讲,声称中国不愿用风力发电?
  20. 在美国买房半年后,总结了两个扎心感受!
  21. 美国签证新规“取消第三国面签”的选项了
  22. 母亲给大一女儿恋爱八项要求
  23. 骨胶水的研发获突破,临床试验显示了安全有效!
  24. iPhone 17系列新品、iPhone Air发布了!
  25. 马斯克的净资产创纪录,突破5000亿美元!
  26. 中国AI芯片产业迎来了技术突破和生态崛起
  27. 我的人生有三个账户!伊隆·马斯克在斯坦福大学的最新演讲
  28. 马斯克成为全球首位身家5000亿美元的富豪
  29. 李开复:如果老板不AI,公司将会被AI淘汰!
  30. 美国众议院通过了巨额军费预算,马斯克警示财政风险!
  31. 启程回国:美元很香,但回家的路更香!
  32. 毅力号火星车揭示了杰泽罗陨石坑的水活动历史
  33. 川普政府打算发放两千美元的关税补贴
  34. 美国宣传制裁东南亚的19个电信诈骗网络实体
  35. 三只小猪都知道砖头房子更好,为何美国房子是木头房?
  36. 在美国生活半年,真实观察了文化差异!

美国动态 美果搜索

Your IP: 216.73.216.27, 2025-10-13 14:08:19

Processed in 0.4399 second(s)

头像

用户名:

粉丝数:

签名:

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