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

Mary-Kate Olsen
Lepaskan: 2024-11-12 14:51:01
asal
491 orang telah melayarinya

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);
Salin selepas log masuk

Penyelesaian: Penambahan Tatasusunan

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

$idVars = $staticIdentifications + $companyVarIdentifications;
Salin selepas log masuk

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!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan