目次
PHP第七课 数组的用法2
ホームページ php教程 php手册 PHP第七课 数组的用法2

PHP第七课 数组的用法2

Jun 13, 2016 am 09:26 AM
配列

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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

foreach ループを使用して PHP 配列から重複要素を削除するにはどうすればよいですか? foreach ループを使用して PHP 配列から重複要素を削除するにはどうすればよいですか? Apr 27, 2024 am 11:33 AM

foreach ループを使用して PHP 配列から重複要素を削除する方法は次のとおりです。配列を走査し、要素がすでに存在し、現在の位置が最初に出現しない場合は、要素を削除します。たとえば、データベース クエリの結果に重複レコードがある場合、このメソッドを使用してそれらを削除し、重複レコードのない結果を取得できます。

PHP 配列ディープ コピーの技術: さまざまな方法を使用して完璧なコピーを実現する PHP 配列ディープ コピーの技術: さまざまな方法を使用して完璧なコピーを実現する May 01, 2024 pm 12:30 PM

PHP で配列をディープ コピーする方法には、json_decode と json_encode を使用した JSON エンコードとデコードが含まれます。 array_map と clone を使用して、キーと値のディープ コピーを作成します。シリアル化と逆シリアル化には、serialize と unserialize を使用します。

PHP 配列キー値の反転: さまざまな方法のパフォーマンス比較分析 PHP 配列キー値の反転: さまざまな方法のパフォーマンス比較分析 May 03, 2024 pm 09:03 PM

PHP の配列キー値の反転メソッドのパフォーマンスを比較すると、array_flip() 関数は、大規模な配列 (100 万要素以上) では for ループよりもパフォーマンスが良く、所要時間が短いことがわかります。キー値を手動で反転する for ループ方式は、比較的長い時間がかかります。

データソートにおけるPHP配列グループ化機能の応用 データソートにおけるPHP配列グループ化機能の応用 May 04, 2024 pm 01:03 PM

PHP の array_group_by 関数は、キーまたはクロージャ関数に基づいて配列内の要素をグループ化し、キーがグループ名、値がグループに属する要素の配列である連想配列を返すことができます。

PHP 配列のディープ コピーのベスト プラクティス: 効率的な方法を発見する PHP 配列のディープ コピーのベスト プラクティス: 効率的な方法を発見する Apr 30, 2024 pm 03:42 PM

PHP で配列のディープ コピーを実行するためのベスト プラクティスは、 json_decode(json_encode($arr)) を使用して配列を JSON 文字列に変換し、それから配列に戻すことです。 unserialize(serialize($arr)) を使用して配列を文字列にシリアル化し、それを新しい配列に逆シリアル化します。 RecursiveIteratorIterator を使用して、多次元配列を再帰的に走査します。

PHP 配列の多次元ソートの実践: 単純なシナリオから複雑なシナリオまで PHP 配列の多次元ソートの実践: 単純なシナリオから複雑なシナリオまで Apr 29, 2024 pm 09:12 PM

多次元配列のソートは、単一列のソートとネストされたソートに分類できます。単一列のソートでは、array_multisort() 関数を使用して列ごとにソートできますが、ネストされたソートでは、配列を走査してソートするための再帰関数が必要です。具体的な例としては、製品名による並べ替えや、売上数量や価格による化合物の並べ替えなどがあります。

重複要素の検索における PHP 配列グループ化関数の役割 重複要素の検索における PHP 配列グループ化関数の役割 May 05, 2024 am 09:21 AM

PHP の array_group() 関数を使用すると、指定したキーで配列をグループ化し、重複する要素を見つけることができます。この関数は次の手順で動作します。 key_callback を使用してグループ化キーを指定します。必要に応じて、value_callback を使用してグループ化値を決定します。グループ化された要素をカウントし、重複を特定します。したがって、array_group() 関数は、重複する要素を見つけて処理するのに非常に役立ちます。

PHPで配列内の値をサイズで並べ替える方法 PHPで配列内の値をサイズで並べ替える方法 Mar 22, 2024 pm 05:24 PM

PHP は、Web サイト開発およびデータ処理分野で広く使用されている、一般的に使用されるサーバー側スクリプト言語です。 PHP では、配列内の値をサイズで並べ替えるのは非常に一般的な要件です。組み込みのソート関数を使用すると、配列を簡単にソートできます。以下では、PHP を使用して配列内の値をサイズで並べ替える方法を、具体的なコード例とともに紹介します。 1. 配列内の値を昇順に並べ替えます。

See all articles