ホームページ >バックエンド開発 >PHPチュートリアル >ハイライト: PHP 配列のさまざまな操作と関数のまとめ_PHP チュートリアル
Web プログラミングにとって最も重要なことは、データへのアクセス、読み取り、書き込みです。文字列、配列、ファイルなど、多くの保存方法が存在する場合があります。配列は、PHP データ アプリケーションにおいて最も重要なメソッドであると言えます。 PHP には多くの配列関数があります。今後の学習のために、私が学んだことをまとめます。
配列の定義はarray()メソッドを使用して定義され、空の配列を定義できます:
リーリーコンパクト()
compact() 関数 - 1 つ以上の変数 (配列を含む) を配列に変換します: 配列コンパクト (mixed $varname [,mixed $... ])。
リーリーcompact() 関数は、2 つ以上の変数を配列に変換するために使用されます (もちろん配列変数も含まれます)。パラメーターは、$ を含む完全な名前ではなく、変数の名前です。反対の関数は extract() で、名前が示すように、キー値を文字列名として、配列値を文字列値として、配列を単一の文字列に変換します。
実行結果:
リーリーarray_combine()
array_combine()—2 つの配列を 1 つの配列に再編成します。1 つはキー値、もう 1 つは値として使用されます: array array_combine (array $keys, array $values)
リーリーarray_combine 関数については詳しく説明しません。読めば誰でも理解できるでしょう。
実行結果:
リーリー範囲()
range() 関数 - 指定された範囲内で配列を作成します:
リーリーarray_fill()
array_fill() 関数 - 配列を埋める関数:
リーリー実行結果:
リーリーforeachトラバーサル
foreach ($value としての配列式){}
foreach ($key => $value としての配列式){}
リーリー実行結果:
リーリーwhile ループトラバーサル
while ループトラバーサルは一般的に list 関数と組み合わせられます。以下は例です。 リーリー
ループトラバーサル用リーリー
実行結果:リーリー
4. 配列ポインタの操作例 1: 次と前
リーリー
実行結果:リーリー
例2: 各関数ポインタ操作リーリー
実行結果:リーリー
5. 配列の追加と削除の操作例 1: $num[] = 値は直接割り当てられ、配列の末尾に追加されます:
リーリー
実行結果:リーリー
例 2: array_pad 関数、配列の先頭と末尾の選択的な追加リーリー
実行結果:リーリー
例 3: プッシュ操作の追加 (array_push):リーリー
実行結果:リーリー
例 4: array_unshift() は先頭に配列メンバーを追加しますリーリー
実行結果:リーリー
注: array_unshift() 関数を使用すると、配列のキー値は 0 から始まります。配列メンバーを削除する
例 1: unset() コマンドは配列メンバーまたは配列を削除します。 リーリー
実行結果: (実行エラーと説明配列も削除され、存在しなくなります)
リーリー例 2: array_splice() 関数は配列メンバーを削除します
リーリー例 3: array_unique は配列内の重複した値を削除します:
リーリー実行結果:
リーリー例 4: array_merge、array_merge_recursive 配列のマージ
リーリー実行結果:
リーリー注: 1. array_merge のキー名が数値の場合、インデックスは再確立され、同じ文字列キー名が見つかった場合、後のキー名が前のキー名を上書きします。 2. array_merge_recursive 関数の機能は、同じ文字列のキー名単位を配列に統合することです。
6. 配列のキーと値の操作
実行結果: 配列内に存在します
例 2: key() は配列の現在のキー名を取得します:
リーリーこの例の結果は動的結果、範囲 (0-8) であり、結果のデモは実行されません。
例 3: list() 関数は、配列内の値を指定された変数に代入します:
リーリー例 4: array_flip() は配列のキーと値を交換します:
リーリー実行結果:
リーリー例 5: array_keys()、array_values() は配列内のすべてのキーと値を返します:
リーリー実行結果:
リーリー例 6: array_search() 検索値:
リーリー結果: 値 0 が存在します
array_search()関数の戻り値はfalse、0、NULLの場合があるので、判断する際は「===」
に注意してください7. 配列の並べ替え
結果:
リーリーsort() 関数と rsort() 関数は配列を低位から高位にソートし、戻り結果はブール値です。
asort() 関数と arsort() 関数はキー値の並べ替えを保持し、並べ替え後にキー値のインデックスは再作成されません。例 2: 配列の順序を乱す - shuffle() 関数:
<?PHP $array = array("a","b","c","d"); shuffle($array);//从低到高排序 print_r($array); ?>
结果为动态结果:
Array ( [0] => c [1] => a [2] => d [3] => b )
shuffle的结果有点随机的意味,每次刷新都不一样。
实例三:array_reverse()数组反向:
<?PHP $array = array("d","b","a","c"); $array = array_reverse($array);//从低到高排序 print_r($array); ?>
运行结果:
Array ( [0] => c [1] => a [2] => b [3] => d )
实例四:自然排序算法——natsort()和natcasesort();
<?PHP $array = array("sort2","Sort5","sort1","sort4"); natsort($array);//从低到高排序 print_r($array); echo "<br />"; natcasesort($array); print_r($array); ?>
结果:
Array ( [1] => Sort5 [2] => sort1 [0] => sort2 [3] => sort4 ) Array ( [2] => sort1 [0] => sort2 [3] => sort4 [1] => Sort5 )
natsort()、natcasesort()对数组进行自然排序,就是使用数字的正常排序算法。natcasesort会忽略大小写。
实例五:对数组进行键值排序ksort():
<?PHP $array = array(1=>"sort2",4=>"Sort5",2=>"sort1",3=>"sort4"); ksort($array);//从低到高排序 print_r($array); ?>
结果:
Array ( [1] => sort2 [2] => sort1 [3] => sort4 [4] => Sort5 )
注意:ksort()函数重新建立了索引。
cout($array) --------统计数组的单元个数 array_diff($array1,$array2)----------统计数组之间的不同点,返回第一个数组中有而第二个数组中没有的。 array_diff_assoc($array1,$array2)---------同array_diff(),只是它对键值也比较 array_diff_key($array1,$array2)------------比较键值 array_product($array)-----------返回数组的所有数的乘积 array_sum($array)--------------所有数值的和 array_rand($array,$n)----------在$array数组中取出$n个数值,返回数组 array_intersect($array1,$array2)----------------取得两个数组的交集 array_intersect_assoc($array1,$array2)---------------在array_intersect 的基础上进行键值比较 array_intersect_key($array1,$array2)-----------------比较两个数组键值的交集
数组的使用在PHP中至关重要,由于PHP没有指针,所以数组承担了很大的数据操作任务。学好数组,才能把PHP应用的得心应手,这里所列均是常用的PHP数组相关的函数及用法,欢迎一起学习!