Kod anda bertujuan untuk menggabungkan dua tatasusunan, satu dengan pasangan berkunci rentetan dan satu lagi dengan pasangan berkunci integer, sambil mengekalkan kunci asal. Isu timbul kerana fungsi array_merge() lalai mengindeks semula tatasusunan yang terhasil, kehilangan struktur kunci yang diingini.
Untuk mengatasi cabaran ini, anda boleh memanfaatkan penambahan tatasusunan ( ) operator dalam PHP. Operator ini menggabungkan tatasusunan sambil mengekalkan kunci asalnya. Dengan menambahkan dua tatasusunan, anda menggabungkannya dengan berkesan sambil menghormati rentetan dan kekunci integer.
Kod yang anda berikan boleh diubah suai seperti berikut:
$staticIdentifications = array( Users::userID => "USERID", Users::username => "USERNAME" ); $companyVarIdentifications = CompanyVars::getIdentificationVarsFriendly($_SESSION['companyID']); $idVars = $staticIdentifications + $companyVarIdentifications;
Kini, tatasusunan $idVars akan mengandungi elemen yang digabungkan, dengan kekunci rentetan daripada $staticIdentifications dan kekunci integer daripada $companyVarIdentifications.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengekalkan Kunci Semasa Menggabungkan Tatasusunan dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!