Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengalih keluar rentetan pendua daripada tatasusunan php

Bagaimana untuk mengalih keluar rentetan pendua daripada tatasusunan php

PHPz
PHPzasal
2023-03-24 09:44:531340semak imbas

Dalam pengaturcaraan PHP, tatasusunan sering digunakan sebagai alat untuk menyimpan dan memproses data. Walau bagaimanapun, ini boleh menyebabkan beberapa masalah apabila tatasusunan mengandungi rentetan berulang. Nasib baik, PHP menyediakan beberapa fungsi dan helah terbina dalam untuk mengalih keluar rentetan pendua daripada tatasusunan.

Dalam artikel ini, kita akan belajar cara menulis fungsi untuk mengalih keluar rentetan pendua daripada tatasusunan menggunakan PHP.

  1. Gunakan fungsi array_unique

Fungsi terbina dalam PHP array_unique boleh mengalih keluar rentetan pendua dalam tatasusunan dengan mudah. Fungsi ini mengembalikan tatasusunan baharu dengan semua nilai pendua dialih keluar. Penggunaan khusus adalah seperti berikut:

$originalArray = array("apple","orange","banana","orange","kiwi","banana");
$uniqueArray = array_unique($originalArray);
print_r($uniqueArray);

Kod di atas akan mengembalikan hasil berikut:

Array
(
    [0] => apple
    [1] => orange
    [2] => banana
    [4] => kiwi
)

Dengan menggunakan fungsi array_unique, kita boleh mengalih keluar rentetan pendua dalam tatasusunan asal dengan mudah .

  1. Gunakan gelung foreach untuk mencapai

Kami juga boleh menggunakan gelung foreach untuk mengalih keluar pendua. Berikut ialah kod PHP yang menggunakan gelung foreach untuk mengalih keluar pendua:

$originalArray = array("apple","orange","banana","orange","kiwi","banana");
$newArray = array();
foreach ($originalArray as $value) {
   if (!in_array($value, $newArray)) {
       $newArray []= $value;
   }
}
print_r($newArray);

Gunakan gelung foreach untuk melintasi tatasusunan dan semak sama ada nilai semasa sudah wujud dalam tatasusunan baharu. Jika ia tidak wujud, tambahkannya pada tatasusunan baharu. Jika ada, nilainya diabaikan. Kaedah ini juga boleh mengalih keluar rentetan pendua dengan berkesan dalam tatasusunan dan mengembalikan hasil berikut:

Array
(
    [0] => apple
    [1] => orange
    [2] => banana
    [4] => kiwi
)
  1. Gunakan fungsi array_flip dan array_keys

Satu lagi cara untuk menyahduplikasi tatasusunan ialah menggunakan fungsi PHP terbina dalam array_flip dan array_keys. Fungsi array_flip boleh menukar kunci dan nilai tatasusunan, dan fungsi array_keys boleh mengembalikan semua nama kunci dalam tatasusunan. Berikut ialah kod PHP untuk penyahduplikasian menggunakan array_flip dan array_keys:

$originalArray = array("apple","orange","banana","orange","kiwi","banana");
$newArray = array_flip(array_keys(array_flip($originalArray)));
print_r($newArray);

Dalam contoh ini, fungsi array_flip terlebih dahulu menukar nama kunci dan nilai kunci tatasusunan asal untuk mengalih keluar nilai pendua, dan kemudian menggunakan fungsi array_keys Kembalikan semua nama kunci selepas penyahduaan. Akhir sekali, kami menggunakan array_flip untuk menukar nama kunci dan nilai kunci sekali lagi. Dengan cara ini, kita mendapat tatasusunan baharu selepas penyahduplikasian, dan hasilnya adalah sama seperti dua kaedah pertama:

Array
(
    [0] => apple
    [1] => orange
    [2] => banana
    [4] => kiwi
)

Ringkasan

Dalam pengaturcaraan PHP, kami Tatasusunan sering diproses. Ini boleh menyebabkan beberapa masalah jika terdapat rentetan pendua dalam tatasusunan. Nasib baik, PHP menyediakan beberapa fungsi dan helah terbina dalam untuk mengalih keluar rentetan pendua daripada tatasusunan. Dalam artikel ini, kami mempelajari tiga cara untuk mencapai fungsi ini, menggunakan fungsi array_unique, menggunakan gelung foreach dan fungsi array_flip dan array_keys. Sama ada cara, mereka boleh menyahduplikasi rentetan dalam tatasusunan dengan berkesan.

Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar rentetan pendua daripada tatasusunan php. 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