Dalam bahasa PHP, tatasusunan ialah jenis data yang digunakan secara meluas, dan kami biasanya menggunakan traversal untuk mengendalikan elemen tatasusunan. Walau bagaimanapun, jika kita menguasai kaedah pengendalian tatasusunan yang lebih cekap, kita boleh meningkatkan kecekapan kod dan menjadikan program berjalan lebih pantas. Artikel ini akan memperkenalkan beberapa kaedah dalam PHP yang tidak perlu melintasi tatasusunan.
Fungsi in_array() digunakan untuk menentukan sama ada nilai yang ditentukan wujud dalam tatasusunan. Cara menggunakannya ialah:
in_array(值, 数组, strict);
di mana nilai ialah nilai yang ditemui, tatasusunan ialah tatasusunan untuk mencari nilai dan tegas menunjukkan sama ada hendak melakukan perbandingan jenis (lalai adalah palsu). Mengembalikan benar jika nilai ditemui, palsu sebaliknya.
Berikut ialah kod sampel:
$my_array = array('apple', 'banana', 'orange'); if (in_array('banana', $my_array)){ echo "找到了"; } else{ echo "没找到"; }
Hasil output ialah "Ditemui".
Fungsi array_key_exists() digunakan untuk menentukan sama ada kunci yang ditentukan wujud dalam tatasusunan. Cara menggunakannya ialah:
array_key_exists(键, 数组);
di mana kunci ialah kunci untuk dicari dan tatasusunan ialah tatasusunan untuk mencari kunci. Mengembalikan benar jika kunci ditemui, palsu sebaliknya.
Berikut ialah kod sampel:
$my_array = array('apple' => 100, 'banana' => 200, 'orange' => 300); if (array_key_exists('banana', $my_array)){ echo "找到了"; } else{ echo "没找到"; }
Hasil output ialah "Ditemui".
Fungsi array_search() digunakan untuk mencari nilai yang ditentukan dalam tatasusunan dan mengembalikan nama kuncinya. Cara menggunakannya ialah:
array_search(值, 数组, strict);
di mana nilai ialah nilai yang ditemui, tatasusunan ialah tatasusunan untuk mencari nilai dan tegas menunjukkan sama ada hendak melakukan perbandingan jenis (lalai adalah palsu). Jika nilai ditemui, nama kunci yang sepadan dikembalikan, jika tidak palsu dikembalikan.
Berikut ialah kod sampel:
$my_array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red'); $key = array_search('green', $my_array); echo $key;
Hasil output ialah "2".
Fungsi array_column() digunakan untuk mengembalikan lajur yang ditentukan dalam tatasusunan. Penggunaannya ialah:
array_column(数组, 列名, 键名);
Antaranya, tatasusunan ialah tatasusunan yang akan dikeluarkan, nama lajur ialah nama atau subskrip berangka lajur yang akan dikeluarkan, dan nama kunci ialah lajur yang akan digunakan sebagai nama kunci tatasusunan baharu (parameter pilihan). Jika anda ingin mendapatkan semula berbilang lajur, anda boleh membentuk tatasusunan nama lajur sebagai parameter kedua. Jika kunci ditentukan, ia digunakan sebagai kunci tatasusunan baharu.
Berikut ialah kod sampel:
$records = array( array( 'id' => 2135, 'first_name' => 'John', 'last_name' => 'Doe', ), array( 'id' => 3245, 'first_name' => 'Sally', 'last_name' => 'Smith', ), array( 'id' => 5342, 'first_name' => 'Jane', 'last_name' => 'Jones', ), array( 'id' => 5623, 'first_name' => 'Peter', 'last_name' => 'Doe', ) ); $last_names = array_column($records, 'last_name', 'id'); print_r($last_names);
Hasil output ialah:
Array ( [2135] => Doe [3245] => Smith [5342] => Jones [5623] => Doe )
array_merge() Fungsi digunakan untuk menggabungkan satu atau lebih tatasusunan menjadi satu tatasusunan. Penggunaannya ialah:
array_merge(数组1, 数组2, ..., 数组n);
Antaranya, tatasusunan 1 hingga tatasusunan n ialah tatasusunan yang akan digabungkan, dan elemennya akan digabungkan menjadi satu tatasusunan. Jika nama kunci yang sama wujud dalam tatasusunan, nilai kemudian akan menimpa nilai sebelumnya.
Berikut ialah contoh kod:
$a = array('a', 'b', 'c'); $b = array('d', 'e', 'f'); $c = array_merge($a, $b); print_r($c);
Hasil output ialah:
Array ( [0] => a [1] => b [2] => c [3] => d [4] => e [5] => f )
Ringkasan:
Di atas adalah kaedah dalam PHP yang tidak perlu merentasi tatasusunan. Fungsi ini membolehkan kami mengendalikan tatasusunan dengan lebih mudah dan cekap. Sudah tentu, fungsi yang berbeza mungkin diperlukan dalam senario yang berbeza, dan ia mesti digunakan secara fleksibel untuk meningkatkan kecekapan kod dengan lebih baik.
Atas ialah kandungan terperinci PHP tidak perlu merentasi tatasusunan operasi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!