Rumah > pembangunan bahagian belakang > tutorial php > Petua untuk mengendalikan nilai kosong dan nilai nol apabila menyahduplikasi tatasusunan PHP

Petua untuk mengendalikan nilai kosong dan nilai nol apabila menyahduplikasi tatasusunan PHP

王林
Lepaskan: 2024-04-26 17:03:01
asal
425 orang telah melayarinya

Petua untuk mengendalikan nilai kosong dan nol semasa menyahduplikasi tatasusunan PHP: Gunakan array_unique dengan array_filter untuk menapis nilai kosong dan nol. Gunakan array_unique dan tentukan fungsi perbandingan tersuai yang menganggap nilai null dan null sebagai sama. Gunakan array_reduce untuk mengulangi tatasusunan dan tambah item jika ia tidak mengandungi nilai kosong atau nol. . Secara lalai, rentetan kosong dan nilai nol dianggap sebagai nilai yang berbeza, yang boleh membawa kepada pendua yang tidak dijangka.

PHP 数组去重时处理空值和 null 值的技巧Tips

Tiga teknik biasa untuk mengendalikan nilai kosong dan nol:

Gunakan fungsi array_unique dengan fungsi array_filter:

start="2">

Gunakan fungsi array_unique dan tentukan fungsi perbandingan tersuai:

$arr = ['red', 'blue', 'green', null, '', 'red'];

$filtered_arr = array_filter($arr);
$result = array_unique($filtered_arr);
Salin selepas log masuk

    Gunakan array_reduce fungsi:
    1. $arr = ['red', 'blue', 'green', null, '', 'red'];
      
      function cmp($a, $b) {
          return $a === $b;
      }
      
      $result = array_unique($arr, SORT_REGULAR, 'cmp');
      Salin selepas log masuk
      array_unique函数搭配array_filter函数:
    $arr = ['red', 'blue', 'green', null, '', 'red'];
    
    $result = array_reduce($arr, function($carry, $item) {
        if (!in_array($item, $carry) || $item !== '') {
            $carry[] = $item;
        }
        return $carry;
    }, []);
    Salin selepas log masuk
    1. 使用array_unique函数并定义自定义比较函数:
    $users = [
        ['name' => 'John Doe', 'age' => 30],
        ['name' => 'Jane Doe', 'age' => 25],
        ['name' => 'John Doe', 'age' => 30], // 重复项
        ['name' => null, 'age' => null], // 空值
    ];
    
    $unique_users = array_filter($users);
    $unique_users = array_unique($unique_users);
    
    print_r($unique_users);
    Salin selepas log masuk
    1. 使用array_reduceKes praktikal

    Contoh berikut menunjukkan menggunakan teknik pertama untuk menapis dan menyahduplikasi tatasusunan yang mengandungi nilai kosong dan nol:

    Array
    (
        [0] => Array
            (
                [name] => John Doe
                [age] => 30
            )
        [1] => Array
            (
                [name] => Jane Doe
                [age] => 25
            )
    )
    Salin selepas log masuk
    Output:

    Atas ialah kandungan terperinci Petua untuk mengendalikan nilai kosong dan nilai nol apabila menyahduplikasi tatasusunan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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