PHP の一般的な配列関数の概要 (コード例付き)

藏色散人
リリース: 2023-04-10 17:08:01
転載
5499 人が閲覧しました

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). モードの場合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)
ログイン後にコピー
2. 1 つの配列の値をキー名として使用し、別の配列の値をその値として使用して配列を作成します:

array_combine(keys ,values)

$arr_1 = ['A','B','C'];$arr_2 = ['a','b','c'];$arr_3 = array_combine($arr_1,$arr_2);
ログイン後にコピー
3. 指定されたキーと値を配列に入力します:

array_fill_keys(keys,value)

$keys = array('foo', 5, 10, 'bar');$a = array_fill_keys($keys, 'banana');
ログイン後にコピー
4. 配列に次の値を入力します。指定された値:

array_fill(start_index,num,value)パラメータ:

start_index: 配列の最初のインデックス
num : 挿入された要素の数。数量、つまり配列の長さは、負でない数でなければなりません。
value:

$arr = array_fill(0,10,'myname');
ログイン後にコピー
5 を埋めるために使用される値。 1 つ以上の配列をマージします:

array_merge(array1, array2...)キー名が同じ場合、キー名が文字の場合は上書きされますが、数値キー名は上書きされます。上書きされませんが、末尾に追加されます

$a = array_merge($arr_1,$arr_2);
ログイン後にコピー
6. 1 つ以上の配列を再帰的に結合します:

array_merge_recursive(array_1,array_2,...)If 配列同じ配列キー名を持つ場合、後者の値は元の値を上書きしませんが、Next.

7 に追加されます。指定された長さで配列に値を入力します:

array_pad(array, size,value)パラメータ:

size: 埋め込み後の配列の長さ。正の場合、配列の右側に埋められます。が負の場合、配列の左側に埋められます。
value:

8 を埋めるために使用される値。配列から次のセクションを取り出します。

array_slice(array,offset,length,preserve_keys)パラメータ:

offset: 開始オフセット (正または負)
length:取得した長さ、正の数は取得した要素の数を示し、負の数は配列の末尾からの距離を示します
preserve_keys: 元のキー名を保持するかどうか

10配列の特定の部分を削除し、他の値で置き換えます:

array_splice(array,offset,length,replacement_array)Parameters:

replacement_array: 削除されたユニットは、この配列の単位置換です。

11. 変数を使用して配列を作成します:

compact(var1,var2,...)、変数名はキー名、変数はvalue は要素の値です

12. 配列から変数をエクスポートします:

extract(array)、キーは変数名、値は変数 ## の値です#13. 配列の値を変数に代入します:

list(var1,var2,...)

<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. 範囲に基づいて、以下を含む配列を作成します。指定された要素:

range(start,end,step)

<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">range(0,8,2) ==&gt; [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 の一般的な配列関数の概要 (コード例付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:learnku.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート