Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk mencari dan memadam elemen menggunakan manipulasi tatasusunan PHP

Bagaimana untuk mencari dan memadam elemen menggunakan manipulasi tatasusunan PHP

PHPz
Lepaskan: 2023-04-26 13:41:01
asal
609 orang telah melayarinya

PHP ialah bahasa skrip sebelah pelayan yang sangat popular yang digunakan secara meluas dalam pembangunan web. Dalam PHP, tatasusunan ialah jenis data yang sangat biasa dan sering digunakan untuk menyimpan koleksi data yang berkaitan.

Memandangkan data terus meningkat, kadangkala perlu mencari atau memadam elemen tertentu dalam tatasusunan. Dalam artikel ini, kita akan membincangkan cara mencari dan memadam elemen menggunakan PHP untuk memanipulasi tatasusunan.

1. Operasi asas tatasusunan

(1) Mencipta tatasusunan

Dalam PHP, anda boleh mencipta tatasusunan baharu melalui fungsi tatasusunan():

$numbers = array(1, 2, 3, 4, 5);
Salin selepas log masuk

Anda juga boleh menggunakan operator [] untuk mencipta tatasusunan:

$numbers = [1, 2, 3, 4, 5];
Salin selepas log masuk

(2) Akses elemen tatasusunan

Apabila mengakses elemen tatasusunan, anda boleh menggunakan [ ] operator ditambah Subskrip elemen. Subskrip tatasusunan bermula pada 0, jadi elemen pertama mempunyai subskrip 0.

echo $numbers[0];    //输出1
Salin selepas log masuk

(3) Ubah suai elemen tatasusunan

Apabila anda perlu mengubah suai elemen tatasusunan, anda boleh menggunakan subskrip tatasusunan untuk mengakses elemen dan menetapkannya semula:

$numbers[0] = 10;
Salin selepas log masuk

Ini akan menukar elemen pertama tatasusunan daripada 1 kepada 10.

2. Cari elemen tatasusunan

(1) Carian linear

Dalam PHP, gunakan gelung for untuk membandingkan elemen tatasusunan satu demi satu untuk mencari elemen tertentu:

function linear_search($arr, $x) {
  for ($i=0; $i < count($arr); $i++) {
    if ($arr[$i] == $x) {
      return $i;
    }
  }
  return -1;
}
Salin selepas log masuk

Fungsi yang dipanggil linear_search ditakrifkan di sini, menerima dua parameter: tatasusunan dan nilai yang akan ditemui. Ia menggunakan gelung for untuk lelaran melalui tatasusunan, dan setelah elemen sasaran ditemui, indeksnya dikembalikan.

Kelemahan kaedah carian ini ialah dalam kes yang paling teruk, keseluruhan tatasusunan perlu dibandingkan dan kerumitan masa ialah O(n).

(2) Carian binari

Carian binari ialah kaedah carian yang lebih cekap, yang boleh memendekkan masa carian kepada O(log n) dalam beberapa kes.

Kaedah ini hanya berfungsi pada tatasusunan yang diisih. Inilah idea asasnya: anda boleh mengecilkan carian anda sebanyak separuh setiap kali.

function binary_search($arr, $x) {
  $low = 0;
  $high = count($arr) - 1;
    
  while ($low <= $high) {
    $mid = floor(($low + $high) / 2);
        
    if ($arr[$mid] < $x) {
      $low = $mid + 1;
    }
    else if ($arr[$mid] > $x) {
      $high = $mid - 1;
    }
    else {
      return $mid;
    }
  }
    
  return -1;
}
Salin selepas log masuk

Fungsi yang dipanggil binary_search ditakrifkan di sini, menerima dua parameter: tatasusunan dan nilai yang akan ditemui. Ia menggunakan gelung sementara untuk mencari lokasi elemen sasaran.

(3) Gunakan fungsi in_array untuk mencari

Dalam PHP, anda boleh menggunakan fungsi in_array terbina dalam untuk mencari elemen dalam array:

$numbers = [10, 20, 30, 40, 50];

if (in_array(30, $numbers)) {
  echo "Found";
} else {
  echo "Not found";
}
Salin selepas log masuk

Program ini akan mengeluarkan "Dijumpai", kerana tatasusunan mengandungi 30.

3. Padamkan elemen tatasusunan

(1) Gunakan fungsi unset untuk memadam

Dalam PHP, anda boleh menggunakan fungsi terbina dalam unset untuk memadam elemen dalam tatasusunan . Jika elemen yang akan dipadamkan ialah elemen terakhir tatasusunan, anda boleh menggunakan fungsi array_pop secara langsung.

$numbers = [10, 20, 30, 40, 50];

unset($numbers[2]);    //删除30
array_pop($numbers);   //删除50

print_r($numbers);
Salin selepas log masuk

Atur cara ini akan mengeluarkan [10, 20, 40] kerana 30 dan 50 telah dipadamkan.

(2) Gunakan fungsi array_splice untuk memadam

Cara lain untuk memadam elemen tatasusunan ialah menggunakan fungsi array_splice. Fungsi ini boleh memadam satu atau lebih elemen secara serentak, bermula dari mana-mana kedudukan dalam tatasusunan.

$numbers = [10, 20, 30, 40, 50];

array_splice($numbers, 2, 1);  //删除30

print_r($numbers);
Salin selepas log masuk

Atur cara ini juga akan mengeluarkan [10, 20, 40, 50] kerana 30 dipadamkan.

Ringkasan

PHP menyediakan banyak fungsi dan pengendali terbina dalam untuk mengendalikan tatasusunan. Mencari dan memadam elemen tatasusunan ialah salah satu operasi yang kerap digunakan dalam pembangunan PHP, jadi adalah penting untuk memahami teknik ini.

Apabila mencari elemen tatasusunan, carian linear dan carian binari ialah kaedah yang paling biasa, bergantung pada sama ada tatasusunan itu diisih atau tidak. Apabila memadamkan elemen tatasusunan, anda boleh menggunakan fungsi seperti unset, array_pop dan array_splice.

Tidak kira kaedah mana pun, anda perlu mengetahui kedudukan dan subskrip elemen sasaran untuk memastikan elemen tatasusunan dipadamkan dengan betul.

Atas ialah kandungan terperinci Bagaimana untuk mencari dan memadam elemen menggunakan manipulasi tatasusunan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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