PHP学习笔记--002:PHP数组相关知识:创建数组
(如转载请注明: 源自:杨志刚博客
http://yangzhigang.cublog.cn)
数组:具有相同属性变量的集合;可以通过用户创建,也可以是由函数返回或创建。对数组的动作主要是操作和管理存储在其中的变量。
1. 用户直接创建数组:
//创建一个空数组
$host = array();
//创建一个不带索引的数组,默认索引从0开始。
$workdays = array(30,60,120,180,365,720);
//创建一个带有索引的数据,指定数字为索引,数字索引不用“引号”。
$interval = array(1=>1,2=>5,3=>15,4=>30,5=>60,6=>120);
//创建一个带有索引的数据,指定索引为字串,字串索引要用“引号”。
$intervals = array("1s"=>1,"2s"=>2,"30s"=>30,"1m"=>60,"5m"=>300,"1h"=>3600);
//创建一个二维数组
$friends = array(
"name" => array("cuiwei","laoyang","yangzhigang","liulei"),
"year" => array(35,32,32,28)
);
//显示数组全部元素
print_r($host);
print_r($workdays);
print_r($interval);
print_r($intervals);
print_r($friends);
//访问数组的单个元素
echo $workdays[3];
echo "\n";
echo $intervals["1m"];
echo "\n";
echo $friends["name"][2];
echo "\n";
?>
=====================杨志刚博客(http://yangzhigang.cublog.cn)===================
总结:
1)数组赋值是,“=”两边有无空格均可;
2)无索引赋值时,默认索引号从“0”开始,就是第一个元素的索引为0;
3)print_r($arrayname)用于输出整个数组,echo用于输出单个元素值,var_dump($arrayname)用输出数组更为详细的信息;
4)数组元素索引方式赋值用"=>",对于用字串作为索引或是元素值时,最好用“”或‘’引起来,不然会有PHP Notice的提示信息,但用WEB方式访问是不显示这个PHP Notice的;
5)建立数组时,数组元素有带索引也有不带索引时,不带索引的元素“单独”进行索引号排序;
6)数组索引相同时,后者的值覆盖前者的值。
=====================杨志刚博客(http://yangzhigang.cublog.cn)===================
2. 通过变量,数组,函数等方式创建数组:
1)变量建立数组
//创建变量
$name = "yangzhigang";
$blogurl = "yangzhigang.cublog.cn";
$keywords = array("杨志刚","杨志刚博客","老杨","北京老杨","杨志刚Blog");
//使用compact()函数创建数组
$myblog = compact("name","blogurl","keywords")
//显示创建的数组
print_r($myblog);
?>
注:compact()函数的参数是变量的变量名,即是“$"符号之后的字串。当一个文件中出现大量的变量,双要对这些变量操作时,就可以用compact()函数将这些变量用数组进行统一的管理。
2)使用两个数组创建新数组
//定义两个数组
$keyid = array(1,2,3,4,5);
$keywords = array("杨志刚","杨志刚博客","老杨","北京老杨","杨志刚Blog");
//使用array_combine()函数合并两个数组为一个新数组
$myblogkeywords = array_combine($keyid,$keywords);
//显示新创建的数组
print_r($myblogkeywords);
?>
注:array_combine(),不是将两个数组的元素值相追加,而是用第1个数组的值做为索引,第2个数组的值做为新数组的值,这就要求两个数组的元素的数量要是相同的。
3)使用range()函数生成指定范围的数组
//生成一个从10到100,步长为5的数组,并显示该数组
$array1 = range(10,100,5);
print_r($array1);
//生成一个从60到80,步长为1的数组,range无第三个参数,默认步长为1,并显示该数组
$array2 = range(60,80);
print_r($array2);
//生成一个为从a到z的小写英文字母的数组,并显示该数组
$array3 = range("a","z");
print_r($array3);
//生成一个从Z到A的倒着排序的大字英文字母的数组,并显示该数组
$array4 = range("Z","A");
print_r($array4);
?>
阅读(1471) | 评论(0) | 转发(0) |