Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk mengosongkan nombor yang sama dalam tatasusunan php

Bagaimana untuk mengosongkan nombor yang sama dalam tatasusunan php

PHPz
Lepaskan: 2023-04-27 10:31:10
asal
513 orang telah melayarinya

Dalam PHP, kita selalunya perlu melakukan pelbagai operasi pada tatasusunan, seperti mencari, mengisih dan penyahduplikasian. Operasi deduplikasi adalah untuk mengalih keluar elemen pendua dalam tatasusunan. Dalam proses pembangunan sebenar, kita sering menghadapi situasi di mana kita perlu mengosongkan nombor yang sama Artikel ini memperkenalkan cara menggunakan tatasusunan PHP untuk mengalih keluar nombor pendua.

1. fungsi array_unique()

Terdapat fungsi array_unique() dalam PHP, yang boleh digunakan untuk mengalih keluar nilai pendua daripada tatasusunan dan mengembalikan tatasusunan baharu. Fungsi ini menggunakan perbandingan nilai, iaitu, hanya elemen dengan nilai yang sama dianggap pendua.

Berikut ialah contoh kod menggunakan array_unique() fungsi untuk mengalih keluar pendua:

<?php
//定义一个包含相同数字的数组
$array = array(1, 1, 2, 3, 4, 4, 5, 5, 5);

//去重
$new_array = array_unique($array);

//输出去重后的数组
print_r($new_array);
?>
Salin selepas log masuk

Melaksanakan kod di atas, anda boleh mendapatkan output:

Array
(
    [0] => 1
    [2] => 2
    [3] => 3
    [4] => 4
    [6] => 5
)
Salin selepas log masuk

Kita boleh lihat bahawa nombor yang berulang telah dikosongkan, hanya meninggalkan nombor yang berbeza.

2. Gunakan gelung traversal untuk mengalih keluar pendua

Selain menggunakan fungsi array_unique(), kami juga boleh menggunakan loop traversal untuk mengalih keluar pendua. Pelaksanaan khusus adalah seperti berikut:

<?php
//定义一个包含相同数字的数组
$array = array(1, 1, 2, 3, 4, 4, 5, 5, 5);

//去重
$new_array = array();
foreach ($array as $value) {
    if (!in_array($value, $new_array)) {
        $new_array[] = $value;
    }
}

//输出去重后的数组
print_r($new_array);
?>
Salin selepas log masuk

Dalam kod di atas, kami menggunakan tatasusunan kosong $new_array untuk menyimpan nombor unik. Kemudian gunakan gelung foreach untuk melintasi tatasusunan asal $array Jika elemen semasa tiada dalam $new_array, tambahkan elemen semasa pada tatasusunan $new_array.

Selepas melaksanakan kod di atas, anda boleh mendapatkan output yang sama seperti sebelumnya:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)
Salin selepas log masuk

3 Perbandingan prestasi

Dua kaedah untuk penyahduplikasian yang dinyatakan di atas, kemudian prestasinya Bagaimana ? Jom bandingkan.

Untuk membandingkan prestasi kedua-dua kaedah, kami menentukan tatasusunan yang mengandungi 100,000 nombor rawak, kemudian menggunakan kedua-dua kaedah untuk menyahgandakannya dan mengira masa pelaksanaan. Kodnya adalah seperti berikut:

<?php
//1. 使用 array_unique() 函数
$array = array();
for ($i = 0; $i < 100000; $i++) {
    $array[] = rand(1, 100000);
}
$start_time = microtime(true);
$new_array = array_unique($array);
$end_time = microtime(true);
echo &#39;使用 array_unique() 函数执行时间:&#39;, $end_time - $start_time, &#39; 秒&#39;;

echo "\n";

//2. 使用循环遍历
$array = array();
for ($i = 0; $i < 100000; $i++) {
    $array[] = rand(1, 100000);
}
$start_time = microtime(true);
$new_array = array();
foreach ($array as $value) {
    if (!in_array($value, $new_array)) {
        $new_array[] = $value;
    }
}
$end_time = microtime(true);
echo &#39;使用循环遍历执行时间:&#39;, $end_time - $start_time, &#39; 秒&#39;;
?>
Salin selepas log masuk

Melaksanakan kod di atas, anda boleh mendapatkan output berikut:

使用 array_unique() 函数执行时间:0.011376142501831 秒
使用循环遍历执行时间:15.46102309227 秒
Salin selepas log masuk

Kita dapat melihat bahawa menggunakan fungsi array_unique() adalah lebih cekap.

4. Ringkasan

Dalam pembangunan sebenar, untuk meningkatkan kecekapan pelaksanaan program, kita harus cuba menggunakan fungsi terbina dalam yang disediakan oleh PHP dan bukannya menulis gelung dan kod lain diri kita untuk diproses. Untuk masalah mengalih keluar nombor yang sama dalam tatasusunan, menggunakan fungsi array_unique() terbina dalam PHP ialah kaedah yang paling mudah dan paling cekap, manakala menggunakan traversal gelung untuk mengalih keluar pendua akan membuang banyak masa dan sumber.

Atas ialah kandungan terperinci Bagaimana untuk mengosongkan nombor yang sama dalam 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