当前位置: 网学 > 编程文档 > PHP > 正文

经验分享:PHP数组循环取数据技巧

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/01/03

我们想要得到大堆数据,你就要对数组进行循环,我们现在就来看看PHP数组循环得到数据。因要负责将数据放置在数组内,现在,如何将其取出呢? 从数组中检索数据非常简单:所有你所需要做的就是使用索引号来访问数组的适当元素。为了读取整个数组的内容,你只需要使用你在该教程第三章中所学到的循环结构来简单的对其进行循环操作即可。

来一个快捷的例子如何?

  1. <html> <head></head> <body> My favourite bands are: <ul> <?php   
  2. // define array $artists = array(''Metallica'', ''Evanescence'', ''Linkin Park'', ''Guns n Roses'');   
  3. // loop over it and print array elements for ($x = 0; $x < sizeof($artists 

当你运行该脚本时,你会看到下面的结果:

  1. My favourite bands are: Metallica Evanescence Linkin Park Guns n Roses 

在这个实例中,我首先定义了一个数组,然后使用for()循环做下面的工作:遍历该数组,使用索引符号取得元素,然后一个接一个的显示它们。 在这里,我将吸引你们的注意力在sizeof()函数上。该函数是最重要也是最常用的数组函数之一。其返回数组的大小(读取:数组内元素的个数)。它大部分用于循环计数器中以确保循环次数和数组中的所有元素的个数一致。 如果你正在使用联合数组,那么随手可得array_keys()和array_values()函数以用来得到数组中所有关键字和对应的值的列表。

  1. ''bacon and eggs''''lunch'' => ''roast beef''''dinner'' => ''lasagna'');
  2.  /* returns the array (''breakfast'', ''lunch'', ''dinner'') with numeric indices */ 
  3. $result = array_keys($menu); print_r($result); print "   
  4. "; /* returns the array (''bacon and eggs'', ''roast beef'', ''lasagna'') with numeric indices */ 
  5. $result = array_values($menu); print_r($result); ?> 

然而,这里还有一种更简单的方法来提取数组中的所有元素。PHP4.0介绍了一种经设计专门用于对数组反复枚举目的的非常新的循环类型:foreach()循环(它的语法结构类似于同名的Perl结构)。

下面是其语法格式:

  1. foreach ($array as $temp) { do this! } 

foreach()循环对作为参数传递给它的数组的每一个元素运行一次,在每次重复时向前遍历该数组。和for()循环不同,它不需要计数器或调用函数 sizeof(),因为它自动跟踪其在数组中的位置。在每次运行的时候,执行大括号内的语句,同时,当前选择的数组元素可以通过一个临时的PHP数组循环变量来访问。 为了更好的理解它是如何工作的,考虑使用foreach()循环对之前的例子进行重新改写:

  1. <html> <head></head> <body> My favourite bands are: <ul> <?php 
  2. // define array $artists = array   
  3. (''Metallica'', ''Evanescence'', ''Linkin Park'', ''Guns n Roses''); 
  4. // loop over it // print array elements foreach ($artists as $a)   
  5. { echo ''<li>''.$a; } ?> </ul> </body> </html> 

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号