Home > Article > Backend Development > How Can I Preserve Key Types When Merging Arrays in PHP?
In PHP, you may encounter the need to combine two arrays while maintaining the original string and integer indices. However, the default array_merge() function reindexes the resulting array with consecutive integers.
// 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);
To preserve the key types during the merge, use the operator instead of array_merge():
$idVars = $staticIdentifications + $companyVarIdentifications;
This operation concatenates the two arrays while retaining their respective key types. The resulting $idVars array will contain both string and integer keys, reflecting the original structures of the input arrays.
Unlike array_merge(), array addition:
In this specific case, the $idVars array will have both string keys (e.g., 'userID') and integer keys (e.g., 123), enabling access to values based on both types of keys.
The above is the detailed content of How Can I Preserve Key Types When Merging Arrays in PHP?. For more information, please follow other related articles on the PHP Chinese website!