おすすめ: 「PHP ビデオ チュートリアル 」
1. 配列のキー名と値に関するいくつかの基本的な操作関数
1. 配列のすべてのキーまたは値を取得します。 array_keys()
array_values()
$arr_keys = array_keys($array);$arr_values = array_values($arr);
2. キーの位置を交換し、配列内の値。前を繰り返すと次の内容で上書きされます: array_flip()
$arr2 = array_flip($arr);
3. 指定された値が配列内にあるかどうか:in_array (value,array)
$bool = in_array('hello',$arr);
4. 配列内で特定の値を検索し、存在する場合はそのキーを返し、それ以外の場合は FALSE を返します: array_search()
$bool = array_search('hello',$arr);
5. 指定されたキーが配列内に存在するかどうか: isset(array[key])
andarray_key_exists(key,array)
$bool = array_key_exists('a',$arr);
6.配列要素の数を取得します:count(array,mode )
。mode が 1 の場合、配列を再帰的にカウントすることを意味し、デフォルトは 0 です。エイリアス sizeof()
$n = count($arr); //等价于:$n = sizeof($arr);
7. 配列内のキー名をすべて小文字または大文字に変更します: array_change_key_case(array,case)
。 case には、一般的に使用される 2 つの変数があります: CASE_UPPER
または CASE_LOWER
(デフォルト値)。デフォルトではすべて小文字です。
$lowarr = array_change_key_case($arr,CASE_LOWER);
8. 次の出現回数を数えます。配列内のすべての値: array_count_value(array)
。配列を返します。キーは元の配列の値、値はこの要素が元の配列
$arr_count = array_count_values($arr);
9 に出現する回数です。配列の最初または最後のキー名を取得します: array_key_first(array)
, array_key_last(array)
$key = array_key_first($arr)
10. 配列の最後の要素をポップします:
$last = array_pop($array);
1 つ以上のセルを配列の末尾または配列の先頭を返し、新しい配列の数を返します:
$new_array = array_push($array,$value1,$value2,...);$new_array = array_unshift($array,$value1,$value2,...);
11. 配列を反転します: array_reverse(array)
$reverse = array_reverse($arr)
12配列内のすべての値を合計するか、積を検索します:
$sum = array_sum($array);$product = array_product($array);
13. 配列から重複する値を削除します:
array_unique($array,,SORT_STRING);sort_falgs参数用于修改排序行为:SORT_NUMERIC - 按照数字形式比较、SORT_STRING - 按照字符串形式比较
14. 配列をシャッフルします: shuffle (array)
$bool = shuffle($arr);
15 . 配列 array_rand(array,num=1)
から 1 つ以上のキー名をランダムに取得し、ランダムなキー名を含む配列を返します。
2. 配列を作成および分割するためのいくつかの操作関数の概要
1. 配列を複数の配列に分割します:array_chunk(array,size,preserve_keys)
パラメータ: size
: 各配列の要素数を指定します。 preserve_keys
: 元のキー名を保持するかどうかを指定します。デフォルトは 間違い###。
関数は 2 次元配列を返します
$myarr = array_chunk($arr,2)
array_combine(keys ,values)
$arr_1 = ['A','B','C'];$arr_2 = ['a','b','c'];$arr_3 = array_combine($arr_1,$arr_2);
array_fill_keys(keys,value)
$keys = array('foo', 5, 10, 'bar');$a = array_fill_keys($keys, 'banana');
array_fill(start_index,num,value)パラメータ:
start_index: 配列の最初のインデックス
num : 挿入された要素の数。数量、つまり配列の長さは、負でない数でなければなりません。
value:
$arr = array_fill(0,10,'myname');
array_merge(array1, array2...)キー名が同じ場合、キー名が文字の場合は上書きされますが、数値キー名は上書きされます。上書きされませんが、末尾に追加されます
$a = array_merge($arr_1,$arr_2);
array_merge_recursive(array_1,array_2,...)If 配列同じ配列キー名を持つ場合、後者の値は元の値を上書きしませんが、Next.
array_pad(array, size,value)パラメータ:
size: 埋め込み後の配列の長さ。正の場合、配列の右側に埋められます。が負の場合、配列の左側に埋められます。
value:
array_slice(array,offset,length,preserve_keys)パラメータ:
offset: 開始オフセット (正または負)
length:取得した長さ、正の数は取得した要素の数を示し、負の数は配列の末尾からの距離を示します
preserve_keys: 元のキー名を保持するかどうか
array_splice(array,offset,length,replacement_array)Parameters:
replacement_array: 削除されたユニットは、この配列の単位置換です。
compact(var1,var2,...)、変数名はキー名、変数はvalue は要素の値です
extract(array)、キーは変数名、値は変数 ## の値です
#13. 配列の値を変数に代入します:
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">list($drink, , $power) = array('coffee', 'brown', 'caffeine');</pre><div class="contentsignin">ログイン後にコピー</div></div>
14. 範囲に基づいて、以下を含む配列を作成します。指定された要素:
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">range(0,8,2) ==> [0,2,4,6,8]</pre><div class="contentsignin">ログイン後にコピー</div></div>
<p><strong>三、数组排序基本函数名为 <code>sort
可以添加其他拓展:r表示逆向排序,k表示对键名进行排序,a表示保持索引关系,u表示用自定义的函数进行比较 1.详细介绍sort函数的情况,其他的函数类似
/*bool sort ( array &$array [, int $sort_flags = SORT_REGULAR ] )SORT_REGULAR参数可以用以下值改变排序的行为:SORT_REGULAR - 正常比较单元(不改变类型)SORT_NUMERIC - 单元被作为数字来比较SORT_STRING - 单元被作为字符串来比较SORT_LOCALE_STRING - 根据当前的区域(locale)设置来把单元当作字符串比较,可以用 setlocale() 来改变。SORT_NATURAL - 和 natsort() 类似对每个单元以“自然的顺序”对字符串进行排序。 PHP 5.4.0 中新增的。SORT_FLAG_CASE - 能够与 SORT_STRING 或 SORT_NATURAL 合并(OR 位运算),不区分大小写排序字符串。 */
排序函数分类大致如下:
2.sort()、rsort():对值进行升序和降序的排序3.ksort()、krsort():对键名进行升序和降序的排序4.asort()、arsort():保持索引关系的同时,对值进行升序和降序的排序5.usort()、uksort()、uasort():使用自定义的排序函数,进行按值的升序排序、按键名的升序排序、保持索引关系的升序排序6.natsort():使用自然排序算法对数组进行排序7.natcasesort():使用自然排序算法对数组进行不区分大小写字母的排序
四、数组运算
数组差集的计算 u表示用自定义的回调函数,diff表示用数据做差集,assoc表示用索引做差集
1.计算数组的差集:array_diff(array1,array2,...)
对比array1和其他数组,返回在array1中但不在其他数组中的值。返回一个数组,但是键名不保留
2.用回调函数比较数据来计算数组的差集:array_udiff(arr1,arr2,...,value_cpmpare_func)
使用用户自定义的函数进行数据比较,而不是内置的函数。
3.使用键名比较计算数组的差集:array_diff_key(array1,array2,...)
使用键名而不是值来进行差集计算
4.用回调函数对键名比较计算数组的差集:array_diff_ukey(arr1,arr2,...,key_compare_func)
5.带索引检查计算数组的差集:array_diff_assoc(array1,array2,..)
同时使用键名和值来进行差集计算
6.带索引检查计算数组的差集,用回调函数比较索引:array_diff_uassoc(arr1,arr2,...,key_compare_func)
key_compare_func
:用户自定义的用于比较键名的函数。
7.带索引检查计算数组的差集,用回调函数比较数据:array_udiff_assoc(arr1,arr2,...,value_cpmpare_func)
value_cpmpare_func
:用户自定义的用于比较数据的函数
8.用回调函数比较数据和索引,计算数组的差集:array_udiff_uassoc(arr1,arr2,...,value_cpmpare_func,key_compare_func)
数组交集的计算 同差集一样,也有8个函数:
array_intersect() 使用数据进行交集比较 array_uintersect() 使用数据进行交集比较,但是自定义函数比较 array_intersect_key() 使用键名进行交集比较 array_intersect_ukey() 使用键名进行交比较,但是自定义函数比较 array_intersect_assoc() 同时使用数据和键名 array_intersect_uassoc() 同时使用数据和键名,但是键名使用自定义函数比较 array_uintersect_assoc() 同时使用数据和键名,但是数据使用自定义函数比较 array_uintersect_uassoc() 同时使用数据和键名,都使用自定义函数
以上がPHP の一般的な配列関数と例のまとめ [基礎]の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。