前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP数组

PHP数组

作者头像
Mirror王宇阳
发布2020-11-10 23:07:38
6.9K0
发布2020-11-10 23:07:38
举报
文章被收录于专栏:Mirror的技术成长

PHP数组:

创建定义数组:
数值数组:
array():定义数组
代码语言:javascript
复制
$Array = array("Ubantu","CetOS","Kali");

如上array()函数定义的内容会以数组的形式传给变量Array

  • 自动分配ID键: $Array = array("Ubantu","CetOS","Kali");
  • 手工分配ID键: $Array[0]="Kali"; $Array[1]="CetOS"; $Array[2]="Ubantu";
count():获取数组长度
代码语言:javascript
复制
count($Array);

count()函数返回数组的长度

  • 关联数组:带有指定键的数组,每个键关联一个值(类似键值对)
  • 多维数组:每一个数组值中包含另外一个或多个数组
关联数组:
创建方法
代码语言:javascript
复制
$Array = array("A"=>"Ubantu","B"=>"CetOS","C"=>"Kali");

or

代码语言:javascript
复制
$Array["A"]="Kali";
$Array["B"]="CetOS";
$Array["C"]="Ubantu";
多维数组:
  • 定义:一个数组中的值可能是另外一个数组,以此类推……
代码语言:javascript
复制
<?php
$cars = array (
	array("CN","+86","中国"),
    array("US","+1","美国"),
    array("TH","+66","泰国")
);
?>
数组遍历或输出:
遍历数值数组:
代码语言:javascript
复制
<?php 
	$Array = array("Ubantu","CetOS","Kali");
	$x = 0 ;
	while ($x < count($Array)) { 
		// (循环)遍历输出Array数组,利用count()函数控制循环
		echo $Array[$x++]."<br />" ;
	}
?>
遍历关联数组:
代码语言:javascript
复制
<?php 
	$Array = array("A"=>"Ubantu","B"=>"CetOS","C"=>"Kali");
	// 使用“键”来输出数组的 value
	echo $Array["A"]."<br />".$Array["B"]."<br />".$Array["C"]."<br />" ;
?>
数组排序
sort():升序
代码语言:javascript
复制
<?php
    $Array = array("Ubantu","CetOS","Kali");
	sort($Array);
    ?>

sort()函数的语法:

代码语言:javascript
复制
sort(array,sortingtype);
  • sortingtype参数(可选) 0 = SORT_REGULAR(默认) :把每一项按常规(ASCII)顺序排序 1 = SORT_NUMERIC:把每一项按数字进行处理 2 = SORT_STRING:把每一项按字符串进行处理 3 = SORT_LOCALE_STRING:按字符串处理
rsort():降序
代码语言:javascript
复制
<?php
    $Array = array("Ubantu","CetOS","Kali");
	rsort($Array);
    ?>
asort():关联数组key升序
代码语言:javascript
复制
<?php
    $Array = array("A"=>"Ubantu","B"=>"CetOS","C"=>"Kali");
	asort($Array);
    ?>

根据关联数组中的key进行数组升序

ksort():关联数组value升序
代码语言:javascript
复制
<?php
    $Array = array("A"=>"Ubantu","B"=>"CetOS","C"=>"Kali");
	ksort($Array);
    ?>
arsort():关联数组key降序
代码语言:javascript
复制
<?php
    $Array = array("A"=>"Ubantu","B"=>"CetOS","C"=>"Kali");
	arsort($Array);
    ?>
krsort():关联数组value降序
代码语言:javascript
复制
<?php
    $Array = array("A"=>"Ubantu","B"=>"CetOS","C"=>"Kali");
	krsort($Array);
    ?>
array_multisort():多维数组排序

array_multisort()函数可以用来排序多维数组或者一次排序多个数组

代码语言:javascript
复制
<?php
	$cars = array (
		array("CN","+86","中国"),
    	array("US","+1","美国"),
    	array("TH","+66","泰国")
	);
	array_multisort($cars);

?>

函数会根据每一个数组的第一个元素(cars[x] [0])进行排序操作;

函数默认是进行升序排序,同时函数也接受第二个参数指定排序方法:SORT_ASC(升序)、SORT_DESC(降序)

usort():用户自定义排序

实现自定义排序方法,就需要使用函数:usort() 告诉PHP如何对排序对象进行比较

PHP内置了比较函数:compare(),用户自定义排序方法需要覆写PHP的比较函数

代码语言:javascript
复制
function compare($x , $y) {
    if ($x[1] == $y[1]){
        return 0;
    } else if ($x[1] < $y[1]) {
        return -1 ;
    } else {
        return 1 ;
    }
}
usort($cars,'compare');

通过覆写compare()函数,比较x和y两个数组;该函数的最主要的作用就是比较两个值的大小;调用usort()函数自定义排序,(usort()函数希望排序数组$cars数组并指定比较操作compare()函数);usort()函数则根据compare()比较函数返回的结果进行排序操作;同样ursort()函数则是按照降序进行排序或者是将比较函数的返回值规则进行修改。

uasort():key排序 uksort():value排序 usort():排序

shuffle():随机排序
代码语言:javascript
复制
<?php
    $Array = array("Ubantu","CetOS","Kali");  
	shuffle($Array);
?>
array_reverse():逆向排序
代码语言:javascript
复制
<?php
	$Array = array("Ubantu","CetOS","Kali");
	shuffle($Array);
	$Array = array_reverse($Array);
?>

函数会将数组逆向然后将数组逆向后的结果拷贝给变量,不会改变原有数组变量内容

explode():设置分隔符

主要是将大量的字符串按照规定的分隔符,单一存入数组中

代码语言:javascript
复制
array explode(string separator , string string [, int limit]);

第一个参数是指定的分隔符,第二个参数是字符串内容(数组中的字符串)

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<body>
	<?php 
		$Array = array();
		$File = file("file.txt");
		$Size = count($File);
		for ($i=0; $i < $Size; $i++) { 
			$Array = explode("0", $File[$i]);
		}
		print_r($Array);
	 ?>
</body>
</html>
intval():字符数字转为数字
数组浏览:
current():返回数组中当前元素
reset():返回第一个元素(key)
end():返回最后一个元素(key)
each():前移一位指针并返回元素(value)
next():后移一位指针并返回元素(value)
pos()/prev():当前指针往回移一个位置然后返回元素
数组元素引用函数:
array_walk():
代码语言:javascript
复制
<?php 
	$Array = array("Ubantu","CetOS","Kali");
	function my_print($value){
		echo "$value<br />" ;
	}
	array_walk($Array, 'my_print'); 
?>

上述代码通俗解释:array_walk()函数将为数组的每一个元素去调用my_print函数,并将元素传给函数参数

数组统计:
count():返回数组元素数量
sizeof():返回数组元素数量
array_count_values():统计特定值在数组中出现的次数
代码语言:javascript
复制
<?php 
	$Array = array(4,5,2,3,5,6,3,7,2,4,7,4,2,7,3,3,3,7,3,2);
	$sum = array_count_values($Array);
	print_r($sum);
?>

数组sum将会接收函数返回的结果,结果是由Array数组中的特定值的次数组成的键值对(关联数组)特定值作为key,出现次数作为value

数组转为标量变量:extract()

对于一个非数字索引的数组,会出现非常多的键值对,使用extract()函数可以将key变为一个标量变量,由此可以通过访问变量的方式访问key对应的value

代码语言:javascript
复制
extract(array var_array [, int txtract_type] [, string prefix]);

函数的作用就是通过一个数组拆个年间一系列的标量变量,这些标量就是数组中的key,而变量就是数组中key对应的value

代码语言:javascript
复制
<?php 
	$Array = array("A"=>"Ubantu","B"=>"CetOS","C"=>"Kali");
	extract($Array);
	echo "$A  $B $C";// 输出结果: Ubantu CetOS Kali
?>

另外参数extract会告诉函数如何处理与已有函数的冲突问题;而prefix参数则是应用到一个函数当中

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-09-06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • PHP数组:
    • 创建定义数组:
      • 数值数组:
      • 关联数组:
      • 多维数组:
    • 数组遍历或输出:
      • 遍历数值数组:
      • 遍历关联数组:
    • 数组排序:
      • sort():升序
      • rsort():降序
      • asort():关联数组key升序
      • ksort():关联数组value升序
      • arsort():关联数组key降序
      • krsort():关联数组value降序
      • array_multisort():多维数组排序
      • usort():用户自定义排序
      • shuffle():随机排序
      • array_reverse():逆向排序
      • explode():设置分隔符
      • intval():字符数字转为数字
    • 数组浏览:
      • current():返回数组中当前元素
      • reset():返回第一个元素(key)
      • end():返回最后一个元素(key)
      • each():前移一位指针并返回元素(value)
      • next():后移一位指针并返回元素(value)
      • pos()/prev():当前指针往回移一个位置然后返回元素
    • 数组元素引用函数:
      • array_walk():
    • 数组统计:
      • count():返回数组元素数量
      • sizeof():返回数组元素数量
      • array_count_values():统计特定值在数组中出现的次数
    • 数组转为标量变量:extract()
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档