Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Menapis Tatasusunan Berbilang Dimensi dalam PHP Menggunakan Padanan Rentetan Separa?

Bagaimana untuk Menapis Tatasusunan Berbilang Dimensi dalam PHP Menggunakan Padanan Rentetan Separa?

Patricia Arquette
Patricia Arquetteasal
2024-12-02 14:51:12658semak imbas

How to Filter a Multidimensional Array in PHP Using Partial String Matching?

Menapis Tatasusunan Berbilang Dimensi Berdasarkan Padanan Separa

Dalam tugas pengaturcaraan ini, kami membentangkan anda dengan senario di mana anda memerlukan fungsi untuk menapis tatasusunan berbilang dimensi berdasarkan padanan separa nilai carian. Pertimbangkan tatasusunan yang diberikan:

array(
 [0] =>
  array(
   ['text'] =>'I like Apples'
   ['id'] =>'102923'
 )
 [1] =>
  array(
   ['text'] =>'I like Apples and Bread'
   ['id'] =>'283923'
 )
 [2] =>
  array(
  ['text'] =>'I like Apples, Bread, and Cheese'
  ['id'] =>'3384823'
 )
 [3] =>
  array(
  ['text'] =>'I like Green Eggs and Ham'
  ['id'] =>'4473873'
 ) 
etc.. 

Kami berusaha mencari jarum "Roti" dalam tatasusunan dan memperoleh hasil berikut:

[1] =>
  array(
   ['text'] =>'I like Apples and Bread'
   ['id'] =>'283923'
 )
 [2] =>
  array(
  ['text'] =>'I like Apples, Bread, and Cheese'
  ['id'] =>'3384823'

Untuk mencapainya, kami memanfaatkan penapis_tatasusunan fungsi, yang membolehkan kami mentakrifkan panggilan balik yang menentukan elemen yang ingin dikekalkan dalam tatasusunan berdasarkan syarat yang diberikan. Dalam senario ini, kami kembali benar jika medan 'teks' mengandungi teks carian, menunjukkan bahawa elemen itu harus disimpan. Nilai pulangan palsu akan mengalih keluar elemen.

Pelaksanaan kelihatan seperti ini:

$search_text = 'Bread';

$filtered_array = array_filter($array, function($el) use ($search_text) {
    return ( strpos($el['text'], $search_text) !== false );
});

Dengan melaksanakan kaedah ini, anda menapis tatasusunan berbilang dimensi dengan berkesan dan hanya mengembalikan elemen yang separa sepadan nilai carian yang anda tentukan. Untuk panduan lanjut, rujuk sumber berikut:

  • [PHP array_filter](https://www.php.net/manual/en/function.array-filter.php)
  • [nilai pulangan strpos PHP](https://www.php.net/manual/en/function.strpos.php)

Atas ialah kandungan terperinci Bagaimana untuk Menapis Tatasusunan Berbilang Dimensi dalam PHP Menggunakan Padanan Rentetan Separa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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