Rumah > pembangunan bahagian belakang > masalah PHP > Mengapa nilai tatasusunan tidak boleh diulang dalam php? Bagaimana untuk mengelakkannya?

Mengapa nilai tatasusunan tidak boleh diulang dalam php? Bagaimana untuk mengelakkannya?

PHPz
Lepaskan: 2023-03-24 10:54:01
asal
1586 orang telah melayarinya

Susun atur PHP ialah jenis data yang biasa digunakan untuk menyimpan dan mengendalikan sejumlah besar data. Terdapat beberapa peraturan asas yang perlu diikuti apabila bekerja dengan tatasusunan PHP. Salah satunya ialah nilai tatasusunan tidak boleh diulang. Ini bermakna anda tidak boleh menggunakan nilai yang sama seperti kunci atau elemen dalam tatasusunan yang sama.

Mengapa nilai tatasusunan tidak boleh diulang?

Tatasusunan ialah jenis pembolehubah khas yang boleh menyimpan pelbagai jenis nilai. Dalam PHP, tatasusunan boleh digunakan untuk menyimpan nombor, rentetan, objek, dll. Dalam tatasusunan, setiap elemen mempunyai kunci dan nilai yang unik. Kekunci boleh diulang, tetapi nilai tidak boleh diulang, jika tidak konflik akan berlaku.

Sebagai contoh, jika anda mempunyai tatasusunan yang menyimpan senarai pelajar, setiap nama pelajar ialah nilai elemen. Jika dua pelajar mempunyai nama yang sama, kedudukan mereka dalam tatasusunan tidak akan ditentukan, yang akan membawa kepada kekeliruan dan ralat. Oleh itu, untuk mengelakkan situasi ini, nilai tatasusunan mestilah unik.

Bagaimana untuk mengelakkan pertindihan nilai tatasusunan?

PHP menyediakan beberapa kaedah untuk memastikan keunikan nilai tatasusunan. Berikut ialah beberapa kaedah yang tersedia:

  1. Menggunakan fungsi array_unique()

Fungsi ini boleh digunakan untuk mengalih keluar nilai pendua daripada tatasusunan. Ia mengembalikan tatasusunan baharu di mana setiap nilai muncul sekali sahaja. Sebagai contoh, kod berikut menunjukkan cara menggunakan fungsi array_unique():

$names = array("John", "Mary", "David", "Mary", "John");
$names = array_unique($names);
print_r($names);
Salin selepas log masuk

Hasil keluaran:

Array
(
    [0] => John
    [1] => Mary
    [2] => David
)
Salin selepas log masuk
  1. Gunakan fungsi in_array()

Fungsi ini boleh digunakan untuk menyemak sama ada nilai sudah wujud dalam tatasusunan. Jika nilai diduakan, tindakan sewajarnya boleh diambil. Contohnya, kod berikut menunjukkan cara menggunakan fungsi in_array():

$names = array("John", "Mary", "David");

if(in_array("Mary", $names)) {
    echo "Mary is already in the array";
} else {
    array_push($names, "Mary");
}

print_r($names);
Salin selepas log masuk

Hasil keluaran:

Mary is already in the array
Array
(
    [0] => John
    [1] => Mary
    [2] => David
)
Salin selepas log masuk
  1. Gunakan fungsi array_search()

Fungsi ini boleh digunakan untuk mencari nilai dalam tatasusunan dan mengembalikan kunci nilai tersebut. Jika nilai diduakan, tindakan sewajarnya boleh diambil. Sebagai contoh, kod berikut menunjukkan cara menggunakan fungsi array_search():

$names = array("John", "Mary", "David");

$key = array_search("Mary", $names);

if($key !== false) {
    echo "Mary is already in the array at index $key";
} else {
    array_push($names, "Mary");
}

print_r($names);
Salin selepas log masuk

Hasil keluaran:

Mary is already in the array at index 1
Array
(
    [0] => John
    [1] => Mary
    [2] => David
)
Salin selepas log masuk

Ringkasan

digunakan Apabila bekerja dengan tatasusunan PHP, adalah sangat penting untuk mengelakkan nilai pendua. Anda boleh menggunakan fungsi seperti array_unique(), in_array(), dan array_search() untuk memastikan keunikan nilai tatasusunan. Semasa menulis kod, sila perhatikan sama ada nilai tatasusunan adalah unik, ini akan membantu mengelakkan ralat yang tidak perlu.

Atas ialah kandungan terperinci Mengapa nilai tatasusunan tidak boleh diulang dalam php? Bagaimana untuk mengelakkannya?. 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