Как можно объединить два массива (один с парами строка => значение, а другой с парами значение =>), сохраняя ключи строка / int? Ни один из них никогда не будет перекрываться (потому что у одного есть только строки, а у другого только целые числа).
Вот мой текущий код (который не работает, потому что array_merge переиндексирует массив целочисленными ключами):
// get all id vars by combining the static and dynamic
$staticIdentifications = array(
Users::userID => "USERID",
Users::username => "USERNAME"
);
// get the dynamic vars, formatted: varID => varName
$companyVarIdentifications = CompanyVars::getIdentificationVarsFriendly($_SESSION['companyID']);
// merge the static and dynamic vars (*** BUT KEEP THE INT INDICES ***)
$idVars = array_merge($staticIdentifications, $companyVarIdentifications);
array( 123 => "VALUE123" )
наarray( 0 => "VALUE123" )
assert(array(0=>0,1=>1) === array_merge(array('9'=>0), array('9'=>1)))