Bagaimana untuk membuang data yang sama dari tatasusunan php

PHPz
Lepaskan: 2023-04-27 17:00:33
asal
612 orang telah melayarinya

Dalam pengaturcaraan PHP, tatasusunan ialah jenis data yang sering kami gunakan. Tidak seperti pembolehubah tunggal, tatasusunan boleh menyimpan berbilang nilai. Walau bagaimanapun, kadangkala kita perlu mengalih keluar nilai pendua daripada tatasusunan untuk memastikan integriti dan ketepatan data. Dalam artikel ini, kami akan memperkenalkan kaedah pelaksanaan untuk mengalih keluar data yang sama dalam tatasusunan PHP.

Kaedah 1: Gunakan fungsi array_unique

Fungsi array_unique dalam PHP boleh membantu kami dengan cepat mengalih keluar elemen pendua daripada tatasusunan dan mengekalkan nilai unik sahaja. Fungsi ini menerima tatasusunan sebagai hujah dan mengembalikan tatasusunan baharu yang mengandungi hanya nilai unik.

Kod sampel:

<?php
  // 创建一个包含重复元素的数组
  $array = array(&#39;a&#39;, &#39;b&#39;, &#39;c&#39;, &#39;a&#39;, &#39;d&#39;, &#39;e&#39;, &#39;b&#39;);
  // 使用array_unique函数去除相同的数据
  $unique_array = array_unique($array);
  // 打印去重后的数组
  print_r($unique_array);
?>
Salin selepas log masuk

Hasil output:

Array
(
    [0] => a
    [1] => b
    [2] => c
    [4] => d
    [5] => e
)
Salin selepas log masuk
Salin selepas log masuk

Seperti yang anda lihat, hasil output hanya mengandungi nilai unik dan mengekalkan susunannya dalam tatasusunan asal.

Kaedah 2: Gunakan fungsi gelung dan in_array

Selain menggunakan fungsi array_unique, kami juga boleh mengalih keluar elemen pendua dengan menggelung tatasusunan dan menggunakan fungsi in_array. Fungsi in_array digunakan untuk menentukan sama ada nilai wujud dalam tatasusunan Jika ia wujud, ia mengembalikan benar, jika tidak ia mengembalikan palsu.

Kod sampel:

<?php
  // 创建一个包含重复元素的数组
  $array = array(&#39;a&#39;, &#39;b&#39;, &#39;c&#39;, &#39;a&#39;, &#39;d&#39;, &#39;e&#39;, &#39;b&#39;);
  // 创建一个空数组用于存储唯一的值
  $unique_array = array();
  // 循环数组并去除相同的数据
  foreach($array as $value) {
    if(!in_array($value, $unique_array)) {
      array_push($unique_array, $value);
    }
  }
  // 打印去重后的数组
  print_r($unique_array);
?>
Salin selepas log masuk

Hasil keluaran:

Array
(
    [0] => a
    [1] => b
    [2] => c
    [4] => d
    [5] => e
)
Salin selepas log masuk
Salin selepas log masuk

Anda juga boleh melihat bahawa hasil output hanya mengandungi nilai unik dan mengekalkan susunannya dalam tatasusunan asal .

Kaedah 3: Gunakan fungsi array_flip

Cara lain untuk mengalih keluar data pendua ialah menggunakan kunci tatasusunan untuk mengalih keluar pendua. Dalam PHP, jika dua atau lebih nilai yang sama berlaku dalam tatasusunan tertentu, nilai terakhir akan menimpa nilai sebelumnya. Oleh itu, kita boleh menggunakan helah berguna menggunakan fungsi array_flip untuk mengambil nilai sebagai kunci dan kemudian menukarnya kembali kepada tatasusunan, yang akan mengalih keluar nilai pendua.

Kod sampel:

<?php
  // 创建一个包含重复元素的数组
  $array = array(&#39;a&#39;, &#39;b&#39;, &#39;c&#39;, &#39;a&#39;, &#39;d&#39;, &#39;e&#39;, &#39;b&#39;);
  // 使用array_flip函数来去除相同的数据
  $unique_array = array_flip($array);
  $unique_array = array_keys($unique_array);
  // 打印去重后的数组
  print_r($unique_array);
?>
Salin selepas log masuk

Hasil output:

Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
    [4] => e
)
Salin selepas log masuk

Seperti yang anda lihat, hasil output hanya mengandungi nilai unik dan mengekalkan susunannya dalam tatasusunan asal.

Ringkasan:

Dalam PHP, anda boleh mengalih keluar elemen pendua daripada tatasusunan dengan mudah menggunakan fungsi seperti array_unique, in_array dan array_flip. Kaedah yang hendak dipilih bergantung pada keperluan khusus dan senario aplikasi. Tidak kira kaedah yang digunakan, penjagaan harus diambil untuk mengekalkan susunan dalam tatasusunan asal untuk memastikan integriti dan ketepatan data.

Atas ialah kandungan terperinci Bagaimana untuk membuang data yang sama dari 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