PHP 常用数组函数

<?php
	$arr = array("123hhh","hahaha","Hello World",123);
	var_dump($arr);

	/*in_array() 函数搜索数组中是否存在指定的值。*/
	echo "Hello World是否存在于数组arr中:".in_array("Hello World", $arr)."<br>";
	echo "数字123是否存在于数组arr中:".in_array(123, $arr)."<br>";
	echo "字符串123是否存在于数组arr中:".in_array("123", $arr)."<br>";
	echo "字符串223是否存在于数组arr中:".in_array("223", $arr)."<br>"."<br>";


	/*array_splice() 函数从数组中移除选定的元素,并用新元素取代它。该函数也将返回包含被移除元素的数组。*/
	echo "删除arr中第二个元素:";
	var_dump(array_splice($arr, 1,1));
	echo "删除后的arr:";
	var_dump($arr)."<br>";

	array_unshift($arr, "POP TEAM EPIC");
	array_push($arr, 3.1415926535);

	/*array_reverse() 函数以相反的元素顺序返回数组。*/
	echo "翻转输出数组:";
	var_dump(array_reverse($arr));
	var_dump($arr);

	$arr1 = array("123","hahaha","Hello World",123,3.141592653);
	var_dump($arr1);

/*	array_diff() 函数返回两个数组的差集数组。该数组包括了所有在被比较的数组中,但是不在任何其他参数数组中的键值。
	在返回的数组中,键名保持不变。
	!!!重点:以第一数组$arr为准!只会返回第一数组$arr的差集,之后的数组不管!
	例如,$arr1中,存在$arr没有的"hahaha",但是diff函数并不会返回该元素
	*/
	echo "两数组差集:";
	var_dump(array_diff($arr, $arr1));

	/*array_intersect() 函数返回两个或多个数组的交集数组。
	结果数组包含了所有在被比较数组中,也同时出现在所有其他参数数组中的值,键名保留不变。
	注释:仅有值用于比较。*/
	echo "两数组交集:";
	var_dump(array_intersect($arr, $arr1));

	$arr_num =array(5,4,6,99,32,-1,100,1,3,9);
	var_dump($arr_num);
	/*数组从小到大排序*/
	sort($arr_num);
	var_dump($arr_num);

	/*数组从大到小排序*/
	rsort($arr_num);
	var_dump($arr_num);



/*
	arsort(array,sortingtype); 

	sortingtype 	
	可选。规定如何排列数组的元素/项目。可能的值:
    0 = SORT_REGULAR - 默认。把每一项按常规顺序排列(Standard ASCII,不改变类型)
    1 = SORT_NUMERIC - 把每一项作为数字来处理。
    2 = SORT_STRING - 把每一项作为字符串来处理。
    3 = SORT_LOCALE_STRING - 把每一项作为字符串来处理,基于当前区域设置(可通过 setlocale() 进行更改)。
    4 = SORT_NATURAL - 把每一项作为字符串来处理,使用类似 natsort() 的自然排序。
    5 = SORT_FLAG_CASE - 可以结合(按位或)SORT_STRING 或 SORT_NATURAL 对字符串进行排序,不区分大小写。

*/
	asort($arr,0);
	var_dump($arr);

	/*current() 函数返回数组中的当前元素的值。

	每个数组中都有一个内部的指针指向它的"当前"元素,初始指向插入到数组中的第一个元素。

	提示:该函数不会移动数组内部指针。要做到这一点,请使用 next() 和 prev() 函数。

	相关的方法:

	    end() - 将内部指针指向数组中的最后一个元素,并输出
	    next() - 将内部指针指向数组中的下一个元素,并输出
	    prev() - 将内部指针指向数组中的上一个元素,并输出
	    reset() - 将内部指针指向数组中的第一个元素,并输出
	    each() - 返回当前元素的键名和键值,并将内部指针向前移动
*/
	echo current($arr) . "<br>";//123hhh
	echo next($arr) . "<br>"; //Hello World
	echo current($arr) . "<br>"; //Hello World
	echo prev($arr) . "<br>"; //123hhh
	echo end($arr) . "<br>"; //123
	echo prev($arr) . "<br>"; //3.1415926535
	echo current($arr) . "<br>"; //3.1415926535
	echo reset($arr) . "<br>"; //123hhh
	echo next($arr) . "<br>"; //Hello World
?>

参考来源:http://www.w3school.com.cn/php/php_ref_array.asp

眼高手低真的是硬伤,之前就只看了几眼w3school对这些函数的介绍,并没有亲自上手试试

用过之后才知道各个函数的具体用法和之间的差别

少摸鱼,多写代码

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值