찾다
php教程php手册PHP第七课 数组的用法2

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 "<pre class="code">";
										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 "<pre class="code">";
					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 "<pre class="code">";
			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 "<pre class="code">";
		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 "<pre class="code">";
			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 "<pre class="code">";
			print_r($arr);
			echo "
"; ?>
		2.inplode();将数组组合成为字符串		
<?php


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


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


			echo "<pre class="code">";
			print_r($str2);
			echo "
"; ?>





<?php


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


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


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


				echo "<pre class="code">";
				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 "<pre class="code">";
			     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 "<pre class="code">";
		    print_r($arr2);
		    echo "
"; echo "
";
		    print_r($arr);
		    echo "
"; ?> array_merge(); "; 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 "<pre class="code">";
    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

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기