PHP第七课 数组的用法2

学习纲要:

1.了解数组函数

2.随机输出验证码

1.数组函数:

数组函数:
//作用:提供了很多官方写的非常有用的代码段,提高编写速度.

1.数组的键值操作函数
2.统计数组的元素和唯一性
3.使用回调函数处理数组的函数
4.数组的排序函数
5.拆分,合并,分解与结合函数
6.数组与数据结构
7.其他有用的数组处理函数

数组的键值操作函数:
1.array_values();

模拟获取key和value的值

<?php
								$arr=array("name"=>"user1","age"=>"30","sex"=>"man");

								foreach($arr as $key=>$val){
									$keys[]=$key;
									$vals[]=$val;
								}

										echo "
";
										print_r($keys);
										echo "

";

echo "


";
echo "
";
								print_r($vals);
								echo "

";

?>

2.array_values的使用

<?php
					$arr=array("name"=>"user1","age"=>"30","sex"=>"man");

					$keys=array_values($arr);

					echo "
";
					print_r($keys);
					echo "

";
?>

array_values();//获取数组中的值
array_keys();//获取数组中的健
in_array();//检查一个值是否在数组中
array_key_exists();//检查一个键是否在数组中
array_flip();//键和值对调
array_reverse();数组中的值反转

统计数组的元素和唯一性
1.count();
2.array_count_values();//统计数组中每个值出现的次数.
3.array_unique();//删除数组中的重复

使用回调函数处理数组的函数:
1.array_filter();

<?php
			$arr=array("user1"=>70,60,80,78,34,34,34,56,78,78);

			function older($var){
				return ($var>60);

			}

			$arr2=array_filter($arr,"older");

			echo "
";
			print_r($arr2);
			echo "

";
?>

2.array_map();

引用参数:
需求:数组值自加1

function show(&$arr){
foreach($arr as $key=>$val){
$arr[$key]=$val+1;

}

}

数组的排序函数
1.sort(); 升序,不保留key
2.rsort(); 降序 ,不保留key
3.asort(); 升序,保留key
4.arsort();
降序,保留key
5.ksort();根据key排序 升序
6.krsort();根据key排序 降序
7.natsort();自然数排序 升序,比如图片img2.jpg
8.natcasesort();忽略大小写 升序排列
9.multisort();多数组排序

ksort();

<?php
		$arr=array("user1"=>10,"b"=>1,"c"=>3,"d"=>30);

		$arr2=array_flip($arr);

		ksort($arr2);

		echo "
";
		print_r($arr2);
		echo "

";
?>

natsort();

<?php
		$array1 = $array2 = array("img12.png", "img10.png", "img2.png", "img1.png");

		sort($array1);
		echo "Standard sorting\n";
		print_r($array1);

		natsort($array2);
		echo "\nNatural order sorting\n";
		print_r($array2);
		?> 

多数组排序:

<?php
		$arr=array("aaa","bbbbbbbbb","cc","ddddd");
		//需求:
		//1.按照标题长度排序
		//2.标题长度变成标题字符串的key

		//将数组中的value的长度取出,并作为一个新数组
		//strlen($val)取出字符串的长度
		foreach ($arr as  $val) {
			    $lens[]=strlen($val);
			}	

			array_multisort($lens,SORT_ASC,$arr);//对数组进行排序,根据第一个数组来排序第二个数组  SORT_ASC表示升序排序

			sort($lens);

			$arr2=array_combine($lens, $arr);//第一个数组作为第二个数组对应的key,返回一个新数组

			echo "
";
			print_r($arr2);
			echo "

";
?>

拆分,合并,分解与结合函数
1.explode();
2.inplode();//join();
3.array_slice();数组的截取
4.array_splice();数组的裁剪
5.array-merge();合并多数组
6.array_combine();合并数组,两个数组,前一个数组作为key,后一个数组作为value
7.array_intersect();找出两个数组的交集
8.array_diff();找出两个数组的不同,根据第一个参数
9.array_pop();从最后弹出一个值,返回弹出值
10.array_push();从最后的位置压入一个值,返回元素的个数
11.array_shift();从洗前面的位置删除一个值
12.array_unshift();从最前的位置压入一个值

<?php

			$str="php,js,html,ces,div";
			$arr=explode(",",$str);

			echo "
";
			print_r($arr);
			echo "

";
?>


2.inplode();将数组组合成为字符串

<?php

			$str="php,js,html,ces,div";
			$arr=explode(",",$str);

			$str2=implode("-",$arr);

			echo "
";
			print_r($str2);
			echo "

";
?>

<?php

				$str="php,js,html,ces,div";
				$arr=explode(",",$str);

				$arr2=array_reverse($arr);//讲数组中的值进行倒序

				$str2=implode("-",$arr2);

				echo "
";
				print_r($str2);
				echo "

";
?>

array_slice();

<?php

				//截取总是从后往前截取
			    $arr = array("aa","bb","cc","dd","ee","ff","gg");

			    $arr2 = array_slice($arr, 0,2);//表示从0的位置截取2个  aa bb
			    $arr3 = array_slice($arr, -3,2);//表示从后往前数到3的位置,开始截取2个//ee  ff

			    echo "
";
			     print_r($arr3);
			     echo "

";

?>

不仅拆减,而且可以添加
<?php
		    $arr = array("aa","bb","cc","dd","ee","ff","gg");

		    $arr2 = array_splice($arr, 0, 3, array("hh","ii","jj","kk"));//直接取原数组的值,并将原数组进行改变,原数组为取走以后剩下的值

		    echo "
";
		    print_r($arr2);
		    echo "

";

echo "

";
		    print_r($arr);
		    echo "

";

?>

array_merge();

<?php

$a = array("aa","bb","cc");
$b = array("dd","ee","ff","gg");

$arr = array_merge($a, $b);

echo "

";
		    print_r($arr);
		    echo "

";

?>

其他有用的数组处理函数:
1.array_rand();//随机取一个key
2.range();//取出某个范围的数组
3.shuffle();//打乱数组的作用
4.array_sum();//计算数组内所有人的和(计算总得分)
如果计算数组的key之和,可以采用array_flip()对数组的健和值进行对调,然后就可以算出健之和.

<?php

    $arr = array("aa","bb","cc","dd","ee","ff","gg");

    //将原数组顺序随机打乱
    shuffle($arr);

    //取出数组的前3个
    $arr2= array_slice($arr, 0 , 3);

    echo "
";
    print_r($arr2);
    echo "

";

?>

//随机输出四位字符 验证码实现:

<?php

	//取出1-9 a-z A-Z的数组
    $a = range(1, 9);
    $b = range(a, z);
    $c = range(A, Z);

    //将3个数组合并
    $d = array_merge($a,$b,$c);

    //将合并后的数组打乱
    shuffle($d);

    //取合并后的前4位
    $e = array_slice($d, 0, 4);

    //将$e数组变为字符串
    $f = join("", $e);

    echo $f;

	?>	

转载请注明出处: http://blog.csdn.net/junzaivip

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索数组
, 函数
, 排序
, key
, 数组唯一key
, 唯一性检查
, php页面不断弹出值
, 取第七个数
, 一个
, slice函数的用法
, array_values
, array_flip
, 数组值
升序
php 数组用法、数组指针的用法、js数组splice用法、数组indexof的用法、js 数组indexof的用法,以便于您获取更多的相关知识。

时间: 2024-10-12 08:06:11

PHP第七课 数组的用法2的相关文章

c++的问题-指针和二维数组的用法

问题描述 指针和二维数组的用法 int *s for(i=0;i<5;i++) for(j=0;j<5;j++) cout<<s[i][j];//error想请教各位程序员哥哥这个要怎么改啊? 解决方案 楼上的就行了,int (*s)[5][5] 也可以吧. 解决方案二: 虽然是二维的数组,其实指针的指的是第一行第一列,所以*s[i]就成了一个一维数组的指针,在c++里面你还可以试试引用,同时理解指针. 解决方案三: 首先,s在此处定义为一维,二维引用会导致错误.其次,对于s,没有

PHP常见数组函数用法小结_php技巧

本文实例讲述了PHP常见数组函数用法.分享给大家供大家参考,具体如下: 1.array array_merge(array $array1 [, array  $array2 [, $array]]) 函数功能:将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面.返回结果的数组. 如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值.然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面. 如果只给了一个数组并且该数组是数字索引的,则键名会以连续方

Python列表list数组array用法实例解析_python

本文以实例形式详细讲述了Python列表list数组array用法.分享给大家供大家参考.具体如下: Python中的列表(list)类似于C#中的可变数组(ArrayList),用于顺序存储结构.   创建列表   复制代码 代码如下: sample_list = ['a',1,('a','b')]   Python 列表操作 复制代码 代码如下: sample_list = ['a','b',0,1,3]   得到列表中的某一个值 复制代码 代码如下: value_start = sampl

VBScript教程 第七课使用条件语句_vbs

VB教程 > 第七课使用条件语句 控制程序执行 使用条件语句和循环语句可以控制 Script 的流程.使用条件语句可以编写进行判断和重复操作的 VBScript 代码.在 VBScript 中可使用以下条件语句: · If...Then...Else 语句 · select Case 语句 使用 If...Then...Else 进行判断 If...Then...Else 语句用于计算条件是否为 True 或 False,并且根据计算结果指定要运行的语句.通常,条件是使用比较运算符对值或变量进行

php 数组的用法

Array ( [0] => Array ( [userid] => 1 [username] => 刘振鹏 [status] => 0 [userpwd] => ) [1] => Array ( [userid] => 2 [username] => 刘鹏飞 [status] => 0 [userpwd] => ) [2] => Array ( [userid] => 3 [username] => 刘朋 [status] =

Perl中列表和数组的用法

总结一下Perl中列表和数组操作的一些用法 假设定义一个数组变量@arr, 将列表(str_a, str_b, str_c, str_d)赋值给数组@arr @arr = (str_a, str_b, str_c, str_d); 将数组@arr的元素个数赋值给$var $var = @arr; 打印这个数组@arr,并且数组中的元素以空格分隔开 print "@arr\n"; 打印数组@arr的第一个和第三个元素和最后一个元素,默认索引从0开始,索引-1表示最后一个元素 print

Swift数组详细用法解析_Swift

一.说明 Swift数组中的类型必须一致,这一点与OC不同 // 数组初始化 var numbers = [0,1,2,3,4,5] var vowels = ["A","E","I","O","U"] // 数组的类型: [Int] 或者 Array<Int> //var numbers: [Int] = [0,1,2,3,4,5] //var numbers: Array<Int>

asp.net C# 中动态数组ArrayList用法

ArrayList就是实现了IList, ICollection, IEnumerable, ICloneable这几个接口的动态数组.即使.NetFramwork提供了一些更耐用更受欢迎的新的类,ArrayList仍然十分有用.下面是一些在C#中使用ArrayList的实例,一起看看其基本用法和一些高级用法. 添加元素 在使用ArrayList的每个程序中基本都会用到其Add方法.该方法追加一个元素对象至ArrayList的末端.在内存允许的情况下,你可以持续的向这个集合中添加元素,其元素以堆

老生常谈JavaScript数组的用法_基础知识

JavaScript数组简介 JavaScript中的数组与其他语言中的数组是不同的,主要体现在: 数组中存储的各项可以是不同类型的数据 数组的大小是动态变化的,当新增项时或移除项时可以动态的改变大小来容纳当前数据项 在JavaScript中创建数组 在JavaScript中创建数组有两种方式: 其一:调用数组的构造函数 var a = new Array(3);//创建一个长度为3的数组 var a = new Array(1,2,3)//创建一个数组内容为1,2,3的数组 另外,通过构造函数