3 数组
3.1 数组的创建
<?php
$arr1 = array("长沙","上海","重庆","山东");
print_r($arr1);
echo "<br/>";
$arr2 = array('cs'=>'长沙','sh'=>'上海','cq'=>'重庆','sd'=>'山东');
print_r($arr2);
echo "<br/>";
$arr3 = array();
$arr3[1] = '长沙';
$arr3[3] = '上海';
$arr3[] = '重庆';
$arr3['sd'] = '山东';
print_r($arr3);
echo "<br/>";
$arr4 = array("长沙",0929,true,array("天心区","雨花区","芙蓉区"));
print_r($arr4);
?>
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191121095506488.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzY5MDkwNg==,size_16,color_FFFFFF,t_70)
3.2 操作数组元素或数组
3.2.1 访问数组元素或数组
$arr1 = array("长沙","上海","重庆","山东");
$i = $arr1[0];
echo $i;
echo $arr1[0];
echo $arr1{0};
echo "<br/>";
foreach ($arr1 as $value){
echo $value;
}
echo "<br/>";
foreach ($arr1 as $key=>$value){
echo $key.":".$value." ";
}
echo "<br/>";
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191121101036214.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzY5MDkwNg==,size_16,color_FFFFFF,t_70)
3.2.2 修改数组元素或数组
$arr1 = array("长沙","上海","重庆","山东");
$arr1[0] = '0929';
unset($arr1[3]);
$arr1[] = '0922';
$arr1['ss'] = 'kabu';
print_r($arr1);
echo "<br/><br/>";
$arr11 = $arr1;
$arr11[0] = "修改";
print_r($arr11);
echo "<br/>";
print_r($arr1);
echo "<br/>";
$arr12 = &$arr1;
$arr12[0] = "修改";
print_r($arr11);
echo "<br/>";
print_r($arr1);
echo "<br/>";
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191121102848230.png)
3.2.3 多维数组
$arr = array(array("玫瑰","百合","兰花"),array("banaba","apple","orange","milk"));
print_r($arr);
echo "<br/>";
echo $arr[0][0];
echo "<br/>";
$arr[0][0] = "蓝鲸";
$arr[0][3] = "茉莉";
unset($arr[1][3]);
print_r($arr);
echo "<br/>";
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191121104134572.png)
3.3 操作数组的内置函数
$arr1 = array("长沙","上海","重庆","山东");
echo count($arr1);
$arr = array(array("玫瑰","百合","兰花"),array("banaba","apple","orange","milk"));
echo count($arr);
echo count($arr,1);
$city = array("长沙","上海","重庆","山东","上海","重庆","上海");
$tmp = array_count_values($city);
print_r($tmp);
echo "<br/>";
$str = '上海 长沙 重庆 山东';
$stoa1 = explode(" ",$str);
$stoa2 = explode(" ",$str,2);
print_r($stoa1);
echo "<br/>";
print_r($stoa2);
$grade = array('a','b','c','d');
$link = implode("--",$grade);
echo $link;
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191121114931538.png)
$score = range(2,5);
print_r($score);
echo "<br/>";
$score = range('D','A');
print_r($score);
echo "<br/>";
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191122205824857.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191122211037809.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzY5MDkwNg==,size_16,color_FFFFFF,t_70)
函数 | 排序依据 | 排序规则 | “键值对”是否改变 |
---|
sort() | 元素值 | 升序 | 是 |
rsort() | 元素值 | 降序 | 是 |
asort() | 元素值 | 升序 | 否 |
arsort() | 元素值 | 降序 | 否 |
ksort() | 索引值 | 升序 | 否 |
krsort() | 索引值 | 降序 | 否 |
natsort() | 元素值 | 升序 | 否 |
natcasesort() | 元素值 | 升序 | 否 |
shuffle() | 元素值 | 随机乱序 | 是 |
字母 | 全称 | 含义 |
---|
a | association | 键值对不变 |
r | reverse | 降序排序 |
k | key | 按照“键”进行排序 |
$color = array('a'=>'blue','red','green','red');
$result = array_reverse($color);
print_r($color);
echo "<br/>";
print_r($result);
echo "<br/>";
$result2 = array_unique($color);
print_r($result2);
echo "<br/>";
$ss1 = in_array('red',$color);
print_r($ss1);
echo "<br/>";
$ss2 = array_search('blue',$color);
print_r($ss2);
echo "<br/>";
$ss3 = array_key_exists(3,$color);
print_r($ss3);
echo "<br/>";
$ss4 = array_keys($color);
print_r($ss4);
echo "<br/>";
$ss5 = array_keys($color,'red');
print_r($ss5);
echo "<br/>";
$ss6 = array_values($color);
print_r($ss6);
echo "<br/>";
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191123143925453.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzY5MDkwNg==,size_16,color_FFFFFF,t_70)
$str = '湖南 湖北 广东 上海';
$arr = explode(" ",$str);
print_r($arr);
echo "<br/>";
list($s1,$s2,$s3) = $arr;
echo $s1."<br/>".$s2."<br/>".$s3."<br/>";
$citys = array("sh" => "上海","cs"=>"长沙","cq"=>"重庆","sd"=>"山东");
extract($citys);
echo $sh."<br/>";
$newcitys = compact('sh','cs','cq','sd');
print_r($newcitys);
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191123150104827.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzY5MDkwNg==,size_16,color_FFFFFF,t_70)
$citys = array("sh" => "上海","cs"=>"长沙","cq"=>"重庆","sd"=>"山东");
print_r($citys);
echo '<br/>';
echo key($citys).' ' .current($citys).' '.next($citys).'<br>';
echo prev($citys).' '.end($citys).' '.reset($citys).'<br>';
print_r(each($citys));
echo '<br>';
reset($citys);
do{
echo key($citys).' => '.current($citys).' ';}
while(next($citys)!== false);
![在这里插入图片描述](https://img-blog.csdnimg.cn/2019112315303353.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzY5MDkwNg==,size_16,color_FFFFFF,t_70)
函数 | 功能 |
---|
current() | 返回当前指针所指元素的“值” |
key() | 返回当前指针所指元素的“键名” |
next() | 移动指针使指针指向下一个元素 |
prev() | 移动指针使指针指向上一个元素 |
end() | 使指针指向最后一个元素,并返回当前指针所指元素的值 |
reset() | 使指针指向第1个元素,并返回当前指针所指元素的值 |
each() | 以数组形式返回当前指针所指的元素,该数组有4个元素,其中键名为1和value的元素值为当前元素的值,键名为0和key的元素值为当前元素的键名 |