Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Mengekalkan Jenis Utama Apabila Menggabungkan Tatasusunan dalam PHP?

Bagaimanakah Saya Boleh Mengekalkan Jenis Utama Apabila Menggabungkan Tatasusunan dalam PHP?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-12 14:51:01526semak imbas

How Can I Preserve Key Types When Merging Arrays in PHP?

Memelihara Jenis Utama Semasa Gabungan Tatasusunan dalam PHP

Dalam PHP, anda mungkin menghadapi keperluan untuk menggabungkan dua tatasusunan sambil mengekalkan rentetan asal dan indeks integer. Walau bagaimanapun, fungsi array_merge() lalai mengindeks semula tatasusunan yang terhasil dengan integer berturut-turut.

Kod Asal dengan Isu

// Array with string-indexed pairs
$staticIdentifications = [
    'userID'   => 'USERID',
    'username' => 'USERNAME'
];

// Array with integer-indexed pairs
$companyVarIdentifications = CompanyVars::getIdentificationVarsFriendly($_SESSION['companyID']);

// Unsuccessful Attempt to Merge with Preserved Key Types
$idVars = array_merge($staticIdentifications, $companyVarIdentifications);

Penyelesaian: Penambahan Tatasusunan

Untuk mengekalkan jenis kunci semasa cantuman, gunakan operator dan bukannya array_merge():

$idVars = $staticIdentifications + $companyVarIdentifications;

Operasi ini menggabungkan dua tatasusunan sambil mengekalkan jenis kunci masing-masing. Tatasusunan $idVars yang terhasil akan mengandungi kunci rentetan dan integer, mencerminkan struktur asal tatasusunan input.

Faedah Penambahan Tatasusunan

Tidak seperti tatasusunan_merge(), penambahan tatasusunan:

  • Mengekalkan jenis kunci asal, penting untuk mengekalkan perkaitan antara kunci dan nilai.
  • Mengelakkan pengindeksan semula yang tidak dijangka, yang boleh memecahkan rujukan kepada elemen tatasusunan berdasarkan indeksnya.
  • Menyediakan pendekatan yang lebih mudah dan lebih mudah untuk penggabungan tatasusunan.

Dalam kes khusus ini, tatasusunan $idVars akan mempunyai kedua-dua kekunci rentetan (cth., 'userID') dan kekunci integer (cth., 123), membolehkan akses kepada nilai berdasarkan kedua-dua jenis kekunci.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengekalkan Jenis Utama Apabila Menggabungkan 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