首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >PHP数组

PHP数组

作者头像
Mirror王宇阳
发布于 2020-11-10 15:07:38
发布于 2020-11-10 15:07:38
8.1K00
代码可运行
举报
运行总次数:0
代码可运行

PHP数组:

创建定义数组:
数值数组:
array():定义数组
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$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
代码运行次数:0
运行
AI代码解释
复制
count($Array);

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

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

or

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

sort()函数的语法:

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

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

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?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
代码运行次数:0
运行
AI代码解释
复制
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
代码运行次数:0
运行
AI代码解释
复制
<?php
    $Array = array("Ubantu","CetOS","Kali");  
	shuffle($Array);
?>
array_reverse():逆向排序
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php
	$Array = array("Ubantu","CetOS","Kali");
	shuffle($Array);
	$Array = array_reverse($Array);
?>

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

explode():设置分隔符

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
array explode(string separator , string string [, int limit]);

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!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
代码运行次数:0
运行
AI代码解释
复制
<?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
代码运行次数:0
运行
AI代码解释
复制
<?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
代码运行次数:0
运行
AI代码解释
复制
extract(array var_array [, int txtract_type] [, string prefix]);

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
php参考手册Array函数(完结了)
<?php //array_change_key_case() $age=['cyg'=>"kkk","liwen"=>"70"]; print_r(array_change_key_case($a
贵哥的编程之路
2022/05/06
2.1K0
php参考手册Array函数(完结了)
php array_multisort
array_multisort() 函数返回排序数组。您可以输入一个或多个数组。函数先对第一个数组进行排序,接着是其他数组,如果两个或多个值相同,它将对下一个数组进行排序。
全栈程序员站长
2022/07/07
4630
你应该这个姿势学习PHP(2)
2、is_array(),is_bool,is_int(),is_integer(),is_numeric(),is_string(),is_object(),is_null,is_file,is_dir,is_readable,is_uploaded_file,is_writeable,
思梦php
2018/04/15
1.2K12
你应该这个姿势学习PHP(2)
数组 函数_从零开始的基础篇
array_flip($arr);数组中的值与键名互换(如果有重复前面的会被后面的覆盖)
全栈程序员站长
2022/09/20
1K0
Array数组函数(三)
array_keys — 返回数组中所有的键名 array_values — 返回数组中所有的值 array_key_exists — 检查给定的键名或索引是否存在于数组中 <?php$phpha=
wangxl
2018/03/07
1.1K0
PHP小知识
以下内容来自网络搜集的知识 将关联数组转为索引数组 foreach($animage_names as $key=>$value){ $newarr[$key]=$value->animage_name; } 将数组去重 array_unique(array) 参数 描述 array 必需。 规定输入的数组。 说明 array_unique() 先将值作为字符串排序,然后对每个值只保留第一个遇到的键名,接着忽略所有后面的键名。这并不意味着在未排序的 array 中同一个值的第一个出现的键
致Great
2018/04/11
8760
php面试常问方法汇总
$GLOBALS(超全局变量) — 引用全局作用域中可用的全部变量, 一个包含了全部变量的全局组合数组。变量的名字就是数组的键
码农编程进阶笔记
2021/07/20
1.9K0
PHP 中操作数组的知识点
数组的赋值: PHP中的数组既可以做数组,也可以做键值对字典,且不存在限制,非常灵活.
王 瑞
2022/12/28
2.5K0
php 笔记 原
(adsbygoogle = window.adsbygoogle || []).push({});
tianyawhl
2019/04/04
1.4K0
PHP两行代码实现更简便的二维数组排序
百度搜索PHP二位数组排序,得到的方法,千篇一律,都是使用array_multisort方法排序,这个方法是先将需要排序的字段放在一个一维数组里面,然后再使用array_multisort进行排序,但其实PHP有一种更简单的方法,可以对二位数组进行排序:
Petrochor
2022/06/07
4520
php Array数组知识总结
PHP 中的数组实际上是一个有序映射。映射是一种把 values 关联到 keys 的类型。此类型在很多方面做了优化,因此可以把它当成真正的数组,或列表(向量),散列表(是映射的一种实现),字典,集合
benny
2018/03/06
2.4K0
php Array数组知识总结
PHP 数组函数整理
array_change_key_case($arr, $case=CASE_LOWER): 将数组键名修改为全大写或全小写, 返回是否成功
烟草的香味
2019/07/25
3.1K0
PHP 关于数组排序的函数
php的数组排序函数有很多。有按键排序,有按值排序。有升序,有降序。有的排序后改变原数组索引,有的不改变。
写PHP的老王
2019/08/12
1.8K0
PHP 关于数组排序的函数
php二维数组随机排序
通过查询文档指导array_multisort函数可对多个数组或多维数组进行排序,具体文档请看https://www.php.net/manual/zh/function.array-multisort.php,其实我就是粗略的看了下文档(看着头大),发现并没有随机排序。
泽泽社长
2023/04/17
1.7K0
PHP数组下(数组指针,与数组函数一部分)
数组指针: 一步步来哈 意思是定义一个关联数组,然后是取出第一个 a r r [ 0 ] 的 键 值 ‘ arr[0]的键值` arr[0]的键值‘val=current( a r r ) ; ‘ , 然 后 取 出 第 一 个 arr);`,然后取出第一个 arr);‘,然后取出第一个arr[0]的键名key=key(arr);,然后输出把echo key."-".
贵哥的编程之路
2020/10/28
8790
PHP数组下(数组指针,与数组函数一部分)
PHP数组完整操作方法大全
5.对数组中的每个元素应用回调函数,并返回一个新数组,该数组包含回调函数的返回值。
岳泽以
2024/05/28
2220
PHP 数组使用之道
这个教程我将通过一些实用的实例和最佳实践的方式列举出 PHP 中常用的数组函数。每个 PHP 工程师都应该掌握它们的使用方法,以及如何通过组合使用来编写更精简且易读的代码。
柳公子
2018/09/17
1.3K0
PHP数组函数
以上就是文章全部内容,感谢你的辛苦阅读。对你有帮助的可以关注此专栏,不定期更新文章,在此也准备了一些资料给大家。 获取laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货:点击此处
叫我可儿呀
2019/12/05
4.8K0
PHP中多维数组自定义排序uasort()
php 内置的排序函数很多,正反各种排,常用的排序函数: sort() – 以升序对数组排序 rsort() – 以降序对数组排序 asort() – 根据值,以升序对关联数组进行排序 ksort() – 根据键,以升序对关联数组进行排序 arsort() – 根据值,以降序对关联数组进行排序 krsort() – 根据键,以降序对关联数组进行排序 基本都能满足需求了,关于这些函数的使用方法就不多啰嗦了,但是在项目的实际开发中还是会有些更加苛刻的排序需求,今天要介绍的排序函数是: uasort
沈唁
2018/05/24
3K0
PHP array_multisort() 函数
array_multisort() 函数返回排序数组。您可以输入一个或多个数组。函数先对第一个数组进行排序,接着是其他数组,如果两个或多个值相同,它将对下一个数组进行排序。
用户1448800
2021/08/19
1.7K0
相关推荐
php参考手册Array函数(完结了)
更多 >
LV.1
这个人很懒,什么都没有留下~
交个朋友
加入腾讯云技术交流站
洞悉AI新动向 Get大咖技术交流群
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档