Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk mendapatkan nilai yang berbeza dalam tatasusunan dalam php

Bagaimana untuk mendapatkan nilai yang berbeza dalam tatasusunan dalam php

PHPz
PHPzasal
2023-04-18 15:20:47574semak imbas

Dalam PHP, jika kita mempunyai tatasusunan dengan berbilang elemen, bagaimanakah kita boleh mendapatkan nilai yang berbeza di dalamnya? Artikel ini akan memperkenalkan beberapa kaedah untuk mencapai matlamat ini.

1. Gunakan fungsi array_unique

Fungsi array_unique ialah fungsi yang sangat berguna dalam PHP, yang boleh mendapatkan semua nilai yang berbeza daripada array. Kita boleh memahami cara menggunakannya dengan contoh berikut:

$my_array = array('epal', 'pisang', 'epal', 'pir', 'oren');
$unique_array = array_unique( $my_array);
print_r($unique_array);

Output: Array ( [0] => epal [1] => pisang [3] => pir [4] = > jingga )

2 Gunakan fungsi array_count_values ​​

Fungsi array_count_values ​​boleh membantu kita mendapatkan bilangan kali setiap elemen dalam tatasusunan muncul dalam tatasusunan. Dengan menghuraikan tatasusunan yang terhasil, kita boleh mendapatkan nilai yang berbeza dengan mudah untuk bilangan elemen. Contohnya:

$my_array = array('epal', 'pisang', 'epal', 'pir', 'oren');
$count_array = array_count_values($my_array);
$ unique_count = count($count_array);
echo "Ada ".$unique_count." item berbeza.";

Output: Terdapat 4 item berbeza.

3 Fungsi array_diff

fungsi array_diff boleh digunakan untuk membandingkan dua tatasusunan dan mengembalikan nilai yang terdapat dalam tatasusunan pertama tetapi tidak dalam tatasusunan kedua. Jika kita menggunakan fungsi ini untuk membandingkan satu tatasusunan dengan dirinya sendiri, nilai yang berbeza akan dikembalikan. Contohnya:

$my_array = array('epal', 'pisang', 'epal', 'pir', 'oren');
$unique_array = array_diff($my_array, array_unique($my_array ) );
print_r($unique_array);

Output: Array ([1] => pear)

4. Menggunakan gelung foreach

Kita juga boleh gunakan Gelung foreach berulang melalui tatasusunan dan menggunakan tatasusunan baharu untuk memegang nilai unik setiap elemen. Contohnya:

$my_array = array('epal', 'pisang', 'epal', 'pir', 'oren');
$unique_array = array();
foreach ( $ my_array sebagai $key => $value) {

if (!in_array($value, $unique_array)) {
    $unique_array[] = $value;
}

}
print_r($unique_array);

Output: Array ( [0] => epal [1 ] => pisang [3] => pir [4] => dan nilai tatasusunan , dan kemudian gunakan fungsi array_keys untuk mendapatkan kunci tatasusunan yang diganti. Ini akan mengembalikan nilai unik tatasusunan asal. Contohnya:

$my_array = array('epal', 'pisang', 'epal', 'pir', 'oren');

$flip_array = array_flip($my_array);

$ unique_array = array_keys($flip_array);

print_r($unique_array);


Output: Array ( [0] => epal [1] => pisang [2] => pir [ 3 ] => oren )

6. Gunakan fungsi array_reduce

Akhir sekali, kita boleh menggunakan fungsi array_reduce untuk mengurangkan array dan mengembalikan nilai uniknya. Ini memerlukan mencipta fungsi panggil balik yang menyemak sama ada elemen disertakan dalam tatasusunan baharu. Jika tidak, tambahkannya pada tatasusunan. Contohnya:

$my_array = array('epal', 'pisang', 'epal', 'pir', 'oren');

$unique_array = array_reduce($my_array, function ($result , $value) {

}, array());
print_r($unique_array);

if (!in_array($value, $result)) {
    $result[] = $value;
}
return $result;
Output: Array ( [0] => epal [1] = > pisang [3] => pir [4] => oren )


Kesimpulan

Di atas adalah beberapa cara untuk mendapatkan nilai berbeza dalam PHP . array_unique ialah kaedah yang paling mudah dan paling biasa digunakan, tetapi kaedah lain juga berguna, bergantung pada keperluan dan senario aplikasi anda. Sila pilih penyelesaian yang paling sesuai untuk anda dan gunakannya apabila diperlukan.

Atas ialah kandungan terperinci Bagaimana untuk mendapatkan nilai yang berbeza dalam tatasusunan dalam 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