阿尔卑斯山谷中有一条大汽车路,两旁景物极美,路上插着一个标语牌劝告游人说:“慢慢走,欣赏啊!”许多人在这车如流水马如龙的世界过活,恰如在阿尔卑斯山谷中乘汽车兜风,匆匆忙忙地急驰而过,无暇一回首流连风景,于是这丰富华丽的世界便成为一个了无生趣的囚牢。这是一件多么可惋惜的事啊!
——朱光潜·谈美
1
数组声明
通过之前所介绍的,我们知道数组有两种声明方式,第一种使用array()函数声明,第二种是通过大括号[]声明数组。
但,这里要说一个关于数组的知识,叫做键值对。听过按图索骥的道理,那么对键值对也就很好理解,有键值对很方便我们操作数组。
如果没有显示声明键的名字,数组默认的键从数字0开始,键我们通常也叫做数组的下标。下面我们在来看看数组的两种声明格式。
用array()函数声明的格式如下:
array("key1"=>"value1","key2"=>"value2",....,"keyn"=>"value n");
array()函数声明数组时,key与value之间用"=>"进行连接,,这种叫做关联索引。而不写键值,直接在数组中以逗号','写入值,这种叫做数值索引,因为隐含的键(下标)从0开始。如下就是这种的定义方式:
array("value 1","value 2","value 3",...);
实例 see see:
<?php
$array=array("1"=>"柠","2"=>"檬","3"=>"黄"); //关联索引声明数组
echo $array[1];
echo $array[2]; // 输出数组元素的值
echo $array[3]." ";
$array1=array("柠","檬","黄");//简单方式声明数组
echo $array1[0];
echo $array1[1];
echo $array1[2];
?>
运行结果:
还有如下的直接赋值方式:
<?php
$array['ning']="柠";
$array[1]="檬";
$array[2]="黄";
print_r($array); //输出所创建的数组结构
?>
运行结果为
2
数组输出:print_r()
如果想要输出数组的整体结构内容,我们现在可以先使用 print_r() 函数。虽然,我们介绍过的 echo print 等也能输出,但他们只能输出单个值,如数值,字符串,数组中的一个元素。
下面用代码对比这三个函数,可以看出 echo print 是无法输出数组的整体内容。
<?php
$array['ning']="柠";
$array[1]="檬";
$array[2]="黄";
echo $array;
print $array;
print_r($array); //输出所创建的数组结构
?>
运行结果为:
3
foreach
上一节我们学了while,do...while,for这三种循环控制语句,其实还有一种与for循环很类似,但是更简单的循环控制语句,它就是foreach循环语句。如果要变量一个数组,使用foreach是非常好用的,代码中也是经常用的。
foreach的语法形式:
foreach($array as $value){
code;
}
或者
foreach($array as $key=>$value){
code;
}
$array是想要循环遍历的数组,$value是数组$array中的值,$key是数组的键名称;code是满足条件时要执行的语句。
实例 see see :
<?php
$fujian = array("泉州","厦门","漳州","福州","龙岩","莆田");
foreach ($fujian as $city) {
echo "$city<br/>";
}
foreach($fujian as $key=>$city){
echo "$key -- $value <br/>"; //输出键与值
}
?>
运行效果:
4
数组常用函数介绍
关于数组,PHP已经内置了很多关于数组的函数,非常有利于我们的开发效率。下面我们挑几个常用的介绍下。
array_key_exists()
array_key_exists()用于判断指定的数组是否存在我们指定的键名,返回布尔类型值,如果有存在则返回True,否则返回False。
其语法格式为:
bool array_key_exists(key,$array)
其中key为要判断的键,$array为查询的数组。
count()
count()用于获取数组中元素的个数,返回int数值。语法格式为:
int count(mixed $var [,int mode])
其中var为指定的数组,而mode为可选参数,如果选了,数组将进行递归计算。
sort()与rsort()
sort()用于对数组进行升序排序;rsort()用于对数组进行降序排序。语法格式为:
bool sort($array);
bool rsort($array);
综合以上一个函数,我们实例 see see:
<?php
$array=array(2,8,13,17,21,28,33);
if(array_key_exists("7",$array)) //判断数组是否含有键名为‘7’的
echo "存在!<br/>";
else
echo "不存在!<br/>";
echo '$array的元素个数是:'.count($array)."<br/>";
sort($array); //对数组进行升序排序
foreach($array as $value){ //输出排序后的结果
echo $value." ";
}
echo "<br>";
rsort($array); //对数组进行降序排序
foreach($array as $value){ //输出排序后的结果
echo $value." ";
}
?>
运行结果为:
这节就先介绍这么多,同理字符串的操作函数,还有很多的数组操作函数,更多的了解可到PHP(https://www.php.net/)官网中查看。