Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengalih keluar nama kunci yang sama dalam tatasusunan dalam php

Bagaimana untuk mengalih keluar nama kunci yang sama dalam tatasusunan dalam php

PHPz
PHPzasal
2023-04-25 10:42:59468semak imbas

Dalam pengaturcaraan PHP, tatasusunan ialah struktur data yang biasa digunakan, selalunya digunakan untuk menyimpan sekumpulan data daripada jenis yang sama. Tatasusunan ialah senarai diindeks di mana setiap elemen mempunyai kunci tertentu. Tetapi biasanya, kita mungkin menghadapi keperluan untuk mengalih keluar nama kunci yang sama dalam tatasusunan. Artikel ini akan memperkenalkan cara mengalih keluar nama kunci yang sama dalam tatasusunan dalam PHP.

Kaedah 1: Gunakan fungsi array_unique

Fungsi array_unique() boleh mengalih keluar nilai pendua dalam tatasusunan dan mengembalikan tatasusunan baharu. Jika anda perlu mengalih keluar elemen dengan nama kunci yang sama, anda boleh mula-mula menggunakan array_values() untuk mendapatkan tatasusunan indeks baharu, kemudian gunakan fungsi array_unique() untuk mengalih keluar pendua, dan akhirnya gunakan fungsi array_combine() untuk menggabungkan semula nama kunci dan nilai ke dalam tatasusunan bersekutu baharu.

Kod sampel adalah seperti berikut:

$original_array = array(
  "id" => "001",
  "name" => "John",
  "gender" => "male",
  "id" => "002",
  "city" => "New York",
  "gender" => "female"
);

$new_array = array_values(array_unique($original_array));
$result_array = array_combine(range(1, count($new_array)), $new_array);

print_r($result_array);

Kod di atas akan mengeluarkan keputusan berikut:

Array
(
    [1] => 001
    [2] => John
    [3] => male
    [4] => New York
    [5] => female
)

Kaedah 2: Gunakan gelung foreach

Jika kita Jika anda perlu menyahdua unsur dengan nama kunci pendua dalam tatasusunan asal dan mengekalkan yang terakhir, anda boleh menggunakan gelung foreach untuk melintasi tatasusunan, cari elemen pendua dengan membandingkan nama kunci, dan kemudian gunakan yang tidak ditetapkan () berfungsi untuk memadam elemen pendua.

Kod sampel adalah seperti berikut:

$original_array = array(
  "id" => "001",
  "name" => "John",
  "gender" => "male",
  "id" => "002",
  "city" => "New York",
  "gender" => "female"
);

foreach ($original_array as $key => $value) {
  $duplicated_key = array_keys($original_array, $value);
  if (count($duplicated_key) > 1) {
    unset($original_array[$duplicated_key[0]]);
  }
}

print_r($original_array);

Kod di atas akan mengeluarkan keputusan berikut:

Array
(
    [name] => John
    [gender] => female
    [city] => New York
)

Perhatikan bahawa kod di atas hanya boleh mengalih keluar pendua berturut-turut nama kunci. Jika anda ingin mengalih keluar semua nama kunci pendua, anda boleh menukar gelung foreach kepada gelung sementara dan melaksanakan operasi unset() secara dalaman sehingga nama kunci elemen yang dipadamkan tidak lagi diulang.

Ringkasnya, dalam PHP, anda boleh menggunakan fungsi array_unique() atau gelung foreach untuk mengalih keluar nama kunci yang sama dalam tatasusunan. Dalam senario tertentu, kita harus memilih kaedah yang sesuai berdasarkan situasi sebenar.

Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar nama kunci yang sama 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