Dalam PHP, tatasusunan ialah salah satu struktur data yang biasa digunakan. Kadangkala, kita perlu melakukan pertanyaan kabur pada tatasusunan untuk mencari data tertentu. Artikel ini akan memperkenalkan cara melakukan pertanyaan kabur pada tatasusunan dalam PHP.
Pertanyaan kabur ialah cara untuk menanyakan data dalam pangkalan data atau sistem storan data lain. Dengan menggunakan kad bebas dan aksara khas, anda boleh memadankan data yang mengandungi corak tertentu.
Dalam PHP, kita boleh menggunakan beberapa fungsi untuk melaksanakan pertanyaan kabur pada tatasusunan. Berikut ialah beberapa fungsi yang biasa digunakan:
array_filter: Fungsi ini boleh menapis nilai dalam tatasusunan dan mengembalikan tatasusunan baharu. Anda boleh menggunakan fungsi panggil balik untuk menentukan nilai yang hendak ditapis.
Kod sampel:
$arr = array('apple', 'banana', 'cherry', 'date'); $result = array_filter($arr, function($value) { return strpos($value, 'a') !== false; }); print_r($result); // 输出array('apple', 'banana');
Dalam kod di atas, fungsi array_filter digunakan untuk menapis nilai yang mengandungi huruf 'a' dalam tatasusunan. Fungsi strpos dalam fungsi panggil balik digunakan untuk menentukan sama ada rentetan mengandungi rentetan lain.
preg_grep: Fungsi ini melaksanakan padanan ungkapan biasa pada nilai dalam tatasusunan dan mengembalikan tatasusunan baharu yang mengandungi semua padanan.
Kod sampel:
$arr = array('001', '002', '003', '011', '012', '013'); $result = preg_grep("/01[1-3]/", $arr); print_r($result); // 输出array('011', '012', '013');
Dalam kod di atas, fungsi preg_grep digunakan untuk memadankan tatasusunan yang bermula dengan '01' dan berakhir dengan '1', '2' atau ' nilai 3'.
array_walk_recursive: Fungsi ini boleh merentasi semua elemen dalam tatasusunan berbilang dimensi dan menggunakan fungsi panggil balik untuk memproses setiap elemen.
Kod sampel:
$arr = array( 'fruit' => array('apple', 'banana', 'cherry'), 'color' => array('red', 'yellow', 'green') ); $result = array(); array_walk_recursive($arr, function ($value, $key) use (&$result) { if (strpos($value, 'a') !== false) { $result[] = $value; } }); print_r($result); // 输出array('apple', 'banana');
Dalam kod di atas, fungsi array_walk_recursive digunakan untuk melintasi tatasusunan yang mengandungi tatasusunan berbilang dimensi. Fungsi strpos dalam fungsi panggil balik digunakan untuk menentukan sama ada rentetan mengandungi rentetan lain.
Dalam PHP, kita boleh menggunakan beberapa fungsi untuk melaksanakan pertanyaan kabur pada tatasusunan. Fungsi ini membantu kami mencari corak tertentu dalam data. Dalam pembangunan sebenar, adalah perlu untuk memilih fungsi yang sesuai untuk melaksanakan pertanyaan kabur mengikut keperluan khusus.
Atas ialah kandungan terperinci Bagaimana untuk melakukan pertanyaan kabur pada tatasusunan dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!