Ringkasan fungsi tatasusunan biasa dalam PHP (dengan contoh kod)

藏色散人
Lepaskan: 2023-04-10 17:08:01
ke hadapan
5474 orang telah melayarinya

1. Beberapa fungsi operasi asas pada nama kunci dan nilai tatasusunan
1 Dapatkan semua kunci atau nilai tatasusunan:array_keys() array_values()

$arr_keys = array_keys($array);$arr_values = array_values($arr);
Salin selepas log masuk
.

2. Pertukaran Kedudukan kunci dan nilai dalam tatasusunan Jika yang sebelumnya diulang, ia akan ditimpa oleh yang terkemudian: array_flip()

$arr2 = array_flip($arr);
Salin selepas log masuk

3 nilai berada dalam tatasusunan: in_array(value,array)

$bool = in_array('hello',$arr);
Salin selepas log masuk

4 Cari nilai tertentu dalam tatasusunan, kembalikan kuncinya jika ada, jika tidak, kembalikan FALSE: array_search()

$bool = array_search('hello',$arr);
Salin selepas log masuk

5. Sama ada kunci yang diberikan wujud dalam tatasusunan: isset(array[key]) dan array_key_exists(key,array)

$bool = array_key_exists('a',$arr);
Salin selepas log masuk

6. Dapatkan bilangan elemen tatasusunan: count(array,mode), apabila mod ialah 1, ini bermakna mengira tatasusunan secara rekursif, dan lalainya ialah 0. Alias ​​​​sizeof()

$n = count($arr);  //等价于:$n = sizeof($arr);
Salin selepas log masuk

7. Tukar nama kunci dalam tatasusunan kepada semua huruf kecil atau huruf besar: array_change_key_case(array,case). Terdapat dua kuantiti yang biasa digunakan dalam kes: CASE_UPPER atau CASE_LOWER (nilai lalai), iaitu, lalai adalah semua huruf kecil

$lowarr = array_change_key_case($arr,CASE_LOWER);
Salin selepas log masuk

8. Kira bilangan kejadian semua nilai ​​dalam tatasusunan: array_count_value(array). Kembalikan tatasusunan, kuncinya ialah nilai tatasusunan asal, nilainya ialah bilangan kali elemen ini muncul dalam tatasusunan asal

$arr_count = array_count_values($arr);
Salin selepas log masuk

9. Dapatkan nama kunci pertama atau terakhir tatasusunan: array_key_first(array), array_key_last(array)

$key = array_key_first($arr)
Salin selepas log masuk

10 Pop elemen terakhir tatasusunan:

$last = array_pop($array);
Salin selepas log masuk

Tolak satu atau lebih sel ke hujung tatasusunan atau permulaan tatasusunan. tatasusunan, dan kembalikan bilangan tatasusunan baharu :

$new_array = array_push($array,$value1,$value2,...);$new_array = array_unshift($array,$value1,$value2,...);
Salin selepas log masuk

11 Balikkan susunan tatasusunan: array_reverse(array)

$reverse = array_reverse($arr)
Salin selepas log masuk

12 ​dalam tatasusunan:

$sum = array_sum($array);$product = array_product($array);
Salin selepas log masuk

13 Alih keluar nilai pendua daripada tatasusunan:

array_unique($array,,SORT_STRING);sort_falgs参数用于修改排序行为:SORT_NUMERIC - 按照数字形式比较、SORT_STRING - 按照字符串形式比较
Salin selepas log masuk

14. Kocok tatasusunan: shuffle(array)

$bool = shuffle($arr);
Salin selepas log masuk

15. Dapatkan satu atau lebih nama kunci secara rawak daripada tatasusunan :array_rand(array,num=1), mengembalikan tatasusunan yang mengandungi nama kunci rawak.

2. Ringkasan beberapa fungsi operasi pada penciptaan dan pemisahan tatasusunan
1. Pisahkan tatasusunan kepada berbilang tatasusunan: array_chunk(array,size,preserve_keys)
Parameter:
: Tentukan bilangan elemen dalam setiap tatasusunan size
: Tentukan sama ada untuk mengekalkan nama kunci asal, lalainya ialah preserve_keys. falseFungsi mengembalikan tatasusunan dua dimensi

$myarr = array_chunk($arr,2)
Salin selepas log masuk
2 Cipta tatasusunan, menggunakan nilai satu tatasusunan sebagai nama kuncinya dan nilai tatasusunan lain sebagai nilainya:

<.>array_combine(keys,values)

3. Isikan tatasusunan dengan kunci dan nilai yang ditentukan:
$arr_1 = ['A','B','C'];$arr_2 = ['a','b','c'];$arr_3 = array_combine($arr_1,$arr_2);
Salin selepas log masuk

array_fill_keys(keys,value)

4.
$keys = array('foo', 5, 10, 'bar');$a = array_fill_keys($keys, 'banana');
Salin selepas log masuk

: Indeks pertama tatasusunan array_fill(start_index,num,value)
: Bilangan elemen yang dimasukkan, iaitu panjang tatasusunan, mestilah nombor bukan negatif
start_index: The nilai yang digunakan untuk mengisi
num
5 Cantumkan satu atau lebih tatasusunan: value

Apabila nama kunci adalah sama, nama kunci aksara akan ditimpa, tetapi nama kunci angka tidak akan akan ditimpa, tetapi akan ditambah pada penghujung
$arr = array_fill(0,10,'myname');
Salin selepas log masuk

array_merge(array1,array2...)6 Gabungkan satu atau lebih tatasusunan secara rekursif:

Jika tatasusunan mempunyai nama kunci tatasusunan yang sama, nilai yang terakhir tidak akan ditulis ganti. nilai asal, tetapi akan ditambahkan pada penghujung.
$a = array_merge($arr_1,$arr_2);
Salin selepas log masuk

7 Isikan nilai ke dalam tatasusunan dengan panjang yang ditentukan: array_merge_recursive(array_1,array_2,...)
Parameter:

: Panjang bagi. tatasusunan selepas mengisi. Jika ia positif, ia akan diisi ke sebelah kanan tatasusunan Jika ia negatif, ia akan diisi ke sisi kiri Ia boleh menjadi positif atau negatif array_pad(array,size,value)
: Panjang yang diperolehi, nombor positif menunjukkan bilangan elemen yang diperoleh, nombor negatif menunjukkan jarak dari hujung tatasusunan
size: Sama ada mahu mengekalkan nama kunci asal
value 10. Alih keluar bahagian tertentu tatasusunan dan gantikannya dengan nilai lain:

Parameter: array_slice(array,offset,length,preserve_keys)
: Unit yang dialih keluar digantikan dengan unit dalam tatasusunan ini
offset 11. Gunakan pembolehubah untuk buat Tatasusunan:
, nama pembolehubah ialah nama kunci, dan nilai pembolehubah ialah nilai elemen length
12. Eksport pembolehubah daripada tatasusunan: preserve_keys, nama kunci ialah nama pembolehubah , dan nilai ialah nilai pembolehubah

13 Berikan nilai tatasusunan kepada pembolehubah: array_splice(array,offset,length,replacement_array)

replacement_array14. mengandungi elemen yang ditentukan:

range(0,8,2) ==> [0,2,4,6,8]
Salin selepas log masuk

三、数组排序基本函数名为 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 位运算),不区分大小写排序字符串。 */
Salin selepas log masuk

排序函数分类大致如下:

2.sort()、rsort():对值进行升序和降序的排序3.ksort()、krsort():对键名进行升序和降序的排序4.asort()、arsort():保持索引关系的同时,对值进行升序和降序的排序5.usort()、uksort()、uasort():使用自定义的排序函数,进行按值的升序排序、按键名的升序排序、保持索引关系的升序排序6.natsort():使用自然排序算法对数组进行排序7.natcasesort():使用自然排序算法对数组进行不区分大小写字母的排序
Salin selepas log masuk

四、数组运算
数组差集的计算 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()             同时使用数据和键名,都使用自定义函数
Salin selepas log masuk

推荐学习:《PHP视频教程

Atas ialah kandungan terperinci Ringkasan fungsi tatasusunan biasa dalam PHP (dengan contoh kod). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
php
sumber:learnku.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!