PHP的list()和each()及print_r的一些用法

初识PHP,感觉和ASP语法差不多,只是表达方法有点区别,不过每种语言都有自己的表达方式,有的直接,强大一点的语言就分得细一点,需要注意的地方也多一点。学了C语言,JAVA,ASP,PHP,总得来说都是流程结构,用如果去判断一件事,用循环去判断所有条件。其它就是数据库的操作,数据库操作就更相似了,现在使用的数据库大部分都是用同一标准,统一查询语言。不同的只是所使用的数据库驱动不同了。

                    PHP中的each();能够枚举所有的数组值,而list()就从each()中的第0元素下标开始读取数据,如:

<?php
$url=array('百度=>'www.baidu.com',
                 '新浪网'=>'www.sina.com',
                 '搜狐'=>'www.sohu.com'  
);
while(list($a,$b)=each($url))
echo "$a=$b <br/>";
?>

说明:each()函数用于返回当前指针位置的数组值,并将指针推进一个位置。返回数组包含四个键,键0和key包含键名,而键1和value包含相应的数据。如果程序在执行each()函数时指针已经位于数组末尾,则返回false.

关于list():

list() 函数用数组中的元素为一组变量赋值。

注意,与 array() 类似,list() 实际上是一种语言结构,不是函数。

语法
list(var1,var2...)

 

参数描述
var1 必需。第一个需要赋值的变量。
var2 可选。可以有多个变量。

 

提示和注释
注释:该函数只用于数字索引的数组,且假定数字索引从 0 开始。

 

<?php
$my_array = array("Dog","Cat","Horse");

list($a, $b, $c) = $my_array;
echo "I have several animals, a $a, a $b and a $c.";
?>

从以上例可以看出list()不能直接读出form表单传递的数据,因为表单数据不是数字索引,用的是变量名称索引,如pwd="123",pwd是索引,而123是值,,需要借助each()来建立数字索引才能赋值给list()函数。而array()是标准数组这个就不介绍了。

print_r()专门用来输出PHP数组的值,如:

<?php
$url=array('编程词典网'=>'www.baidu.com',
           '新浪网'=>'www.sina.com',
     '搜狐'=>'www.sohu.com'  
);
print_r($url);

?>

显示结果如下:

Array ( [编程词典网] => www.baidu.com [新浪网] => www.sina.com [搜狐] => www.sohu.com )

 

转自http://answan1.blog.163.com/blog/static/337628832012922115625881/

posted @ 2013-06-13 23:33  losesea  阅读(2644)  评论(0编辑  收藏  举报