この記事の例は、PHP でよく使用される配列関数をまとめたものです。参考のために皆さんと共有してください。詳細は次のとおりです:
array_combine
機能: 一方の配列の値を新しい配列のキー名として使用し、もう一方の配列の値を新しい配列の値として使用します
ケース:
<?php $a = array("one","two","three"); $b = array("一","二","三"); $c = array_combine($a,$b); print_r($c); /**结果 *Array ( [one] => 一 [two] => 二 [three] => 三 ) */
array_chunk
関数: 数値を複数の配列に分割する
<?php $input_array = array("a"=>"apple","b"=>"blue","c","d","e"); echo "<pre class="brush:php;toolbar:false">"; print_r(array_chunk($input_array, 2)); print_r(array_chunk($input_array, 2,True)); echo ""; /**结果 Array ( [0] => Array ( [0] => apple [1] => blue ) [1] => Array ( [0] => c [1] => d ) [2] => Array ( [0] => e ) ) Array ( [0] => Array ( [a] => apple [b] => blue ) [1] => Array ( [0] => c [1] => d ) [2] => Array ( [2] => e ) ) */
array_count_values
関数: 配列内に値が出現する回数をカウントする
りー
array_diff
関数: 最初の数値 グループから数値を削除します 2 つの配列のデータは結果として残りの内容を返します
<?php $input_array = array("a"=>"apple","b"=>"blue","c","d","e"); echo "<pre class="brush:php;toolbar:false">"; print_r(array_count_values($input_array)); echo ""; /**结果 Array ( [apple] => 1 [blue] => 1 [c] => 1 [d] => 1 [e] => 1 ) */
array_map
関数: 配列へのコールバック関数を実行します
<?php $array1 = array("a"=>"apple","b"=>"blue","c","d","e"); $array2 = array("apple","c","d","f"); $result = array_diff($array1, $array2); $result2 = array_diff($array2, $array1); echo "<pre class="brush:php;toolbar:false">"; print_r($result);//数组1中去掉数组2中剩下的 print_r($result2);//数组2中去掉数组1中剩下的 echo ""; /**结果 Array ( [b] => blue [2] => e ) Array ( [3] => f ) */
array_merge
機能: 1 つ以上の配列を結合します
説明: 後ろに同じキー名のキーがある場合、前の内容は上書きされ、数字キーを持つキーが後ろに追加されます
<?php //定义回调函数 function cube($n){ return ($n*$n*$n); } $a = array(1,2,3,4,5); $b = array_map("cube",$a); echo "<pre class="brush:php;toolbar:false">"; print_r($b); echo ""; /**结果 Array ( [0] => 1 [1] => 8 [2] => 27 [3] => 64 [4] => 125 ) */
array_pop
関数: 配列の最後の要素を削除し、削除された要素を返します。 要素の内容
<?php $array1 = array("color"=>"red",2,4); $array2 = array("a","b","color"=>"green","shape"=>"trapezoid",4); $result1 = array_merge($array1,$array2); $result2 = array_merge_recursive($array1,$array2); echo "<pre class="brush:php;toolbar:false">"; print_r($result1); print_r($result2); echo ""; /**结果 Array ( [color] => green [0] => 2 [1] => 4 [2] => a [3] => b [shape] => trapezoid [4] => 4 ) Array ( [color] => Array ( [0] => red [1] => green ) [0] => 2 [1] => 4 [2] => a [3] => b [shape] => trapezoid [4] => 4 ) */E
Array_Push
関数: 配列の末尾に単位数を押します。配列の末尾
array_search関数: 配列内のコンテンツをクエリし、キー値を返します。複数の一致がある場合は、最初に一致したコンテンツを返します array_shift関数: 削除します。開始要素と Array_pop の反対側
<?php $stack = array("orange","banana","apple","1"); $last = array_pop($stack); echo "<pre class="brush:php;toolbar:false">"; print_r($stack); print_r($last); echo ""; /**结果 Array ( [0] => orange [1] => banana [2] => apple ) 1 */E Array_unique 機能: 繰り返される要素の配列を削除し、キー名と値を含む最初の外観を保持します
<?php $stack = array("orange","banana"); $count = array_push($stack,"apple","red","blue"); echo "<pre class="brush:php;toolbar:false">"; print_r($stack); print_r($count); echo ""; /**结果 Array ( [0] => orange [1] => banana [2] => apple [3] => red [4] => blue ) 5 */E Array_slice
<?php $input = array("orange","banana","apple","red","blue"); $rand = array_rand($input,2);; print_r($rand); $rand = array_rand($input,3); print_r($rand); /**结果 Array ( [0] => 1 [1] => 4 ) Array ( [0] => 0 [1] => 1 [2] => 3 ) */
count
関数: 配列要素の数を返します。要素が配列の場合、1 つとしてカウントされます
current
関数: 要素を指す現在のポインターを取得します
<?php $array = array("blue"=>"b","red"=>"r","green","r"); $key = array_search('b', $array); echo $key; echo "<br>"; $key = array_search('r', $array); echo $key; echo "<br>"; /**结果 blue red */
in_array
関数: 配列に特定の値が存在するかどうかを確認し、存在する場合はTrueを返し、そうでない場合はFalseを返します
<?php $fruit = array("milk","orange","banana","apple"); $top = array_shift($fruit); print_r($top); echo "<br>"; print_r($fruit); /**结果 milk Array ( [0] => orange [1] => banana [2] => apple ) */
list
関数: 配列内の情報を複数の変数に代入します
<?php $input = array("a"=>"green","red","b"=>"green","blue","c"=>"red"); $result = array_unique($input); print_r($result); echo "<br>"; print_r($input); /**结果 Array ( [a] => green [0] => red [1] => blue ) Array ( [a] => green [0] => red [b] => green [1] => blue [c] => red ) */
shuffle
関数: 配列をスクランブルします
<?php $input = array("a","b","c","d","e"); $output = array_slice($input,2);//第二个参数没有时,表示取到最后一个元素 print_r($output); echo "<br>"; $output = array_slice($input,-2,1);//第二个参数是正数时,表示个数;倒数第一个是-1,倒数第二个是-2 print_r($output); echo "<br>"; $output = array_slice($input,0,3); print_r($output); echo "<br>"; $output = array_slice($input,2,-1);//第二个参数是负数时,表示位置,取到哪一位,不包括本身 print_r($output); echo "<br>"; $output = array_slice($input,2,-1,true);//第三个参数为true时,保留原有的键值 print_r($output); echo "<br>"; /**结果 Array ( [0] => c [1] => d [2] => e ) Array ( [0] => d ) Array ( [0] => a [1] => b [2] => c ) Array ( [0] => c [1] => d ) Array ( [2] => c [3] => d ) */
array_keys
関数: 配列のキー名を取得します。2番目のパラメータは特定の要素を取得するために指定できます
array_逆
関数: 配列の逆を取得します
<?php $input = array("a","b","c",array("d","e")); $count = count($input); echo $count; echo "<br>"; $input = array("a","b","c","d","e"); $count = count($input); echo $count; /**结果 4 5 */
arsort
関数: 逆ソート、インデックスは変更されません
<?php $array = array("foot","bike","car","plane"); $result = current($array); echo $result."<br>"; next($array);//使指针指向下一个元素 $result = current($array); echo $result."<br>"; prev($array);//使指针指向前一个元素 $result = current($array); echo $result."<br>"; end($array);//使指针指向最后一个元素 $result = current($array); echo $result."<br>"; /**结果 foot bike foot plane */
asort
関数: 順ソート
<?php $os_list = array("Mac","NT","Irix","Linux"); if(in_array("Irix",$os_list)){ echo "当前操作系统列表中存在Irix"; }else{ echo "当前操作系统列表中不存在Irix"; } echo "<br>"; if(in_array("mac",$os_list)){ echo "当前操作系统列表中存在mac"; }else{ echo "当前操作系统列表中不存在mac"; } echo "<br>"; /**结果 当前操作系统列表中存在Irix 当前操作系统列表中不存在mac */
krsort
機能: キー名による逆ソート
<?php $info = array("red","blue","green"); list($flag,$sky,$grassland) = $info; echo "$flag,$sky,$grassland"; echo "<br>"; list($flag,,$grassland) = $info; echo "$flag,$grassland"; echo "<br>"; list(,,$grassland) = $info; echo "$grassland"; echo "<br>"; /**结果 red,blue,green red,green green */
ksort
機能: キー名による順ソート
<?php $numbers = range(1,5);//生成一个随机数组 print_r($numbers); echo "<br/>"; shuffle($numbers);//打乱数组 print_r($numbers); /**结果 Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 ) Array ( [0] => 4 [1] => 1 [2] => 5 [3] => 2 [4] => 3 ) */
rsort
機能: 値による逆ソート、キー名変更
<?php $array = array(0=>100,"color"=>"red"); print_r(array_keys($array)); echo "<br>"; $array = array("blue","red","green","blue","blue"); print_r(array_keys($array,"blue")); echo "<br>"; $array = array("color"=>array("blue","red","green"),"size"=>array("small","medium","large")); print_r(array_keys($array)); echo "<br>"; /**结果 Array ( [0] => 0 [1] => color ) Array ( [0] => 0 [1] => 3 [2] => 4 ) Array ( [0] => color [1] => size ) */
sort
機能: 値による前方ソート、キー名の変更
<?php $input = array("php",3.0,array("green","red")); $result = array_reverse($input); //打乱键名 $result_keyed = array_reverse($input,TRUE);//保留键名 print_r($result); print_r($result_keyed); /**结果 Array ( [0] => Array ( [0] => green [1] => red ) [1] => 3 [2] => php ) Array ( [2] => Array ( [0] => green [1] => red ) [1] => 3 [0] => php ) */
この記事が PHP プログラミングの皆様のお役に立てれば幸いです。
PHP で一般的に使用される配列関数 [代入、分割、結合、計算、追加、削除、クエリ、判断、並べ替え] のその他の例については、PHP 中国語 Web サイトの関連記事に注目してください。