PHP: объединить два массива при хранении ключей вместо переиндексации?

Как я могу объединить два массива (один со строкой => пары значения и другой с интервалом => пары значения) при хранении ключей строки/интервала? Ни один из них никогда не будет накладываться (потому что у каждого есть только строки, и другой имеет только целые числа).

Вот мой текущий код (который не работает, потому что 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);
239
задан Shaiful Islam 5 June 2015 в 00:00
поделиться

1 ответ

Вы можете просто "добавить" массивы:

>> $a = array(1, 2, 3);
array (
  0 => 1,
  1 => 2,
  2 => 3,
)
>> $b = array("a" => 1, "b" => 2, "c" => 3)
array (
  'a' => 1,
  'b' => 2,
  'c' => 3,
)
>> $a + $b
array (
  0 => 1,
  1 => 2,
  2 => 3,
  'a' => 1,
  'b' => 2,
  'c' => 3,
)
530
ответ дан 23 November 2019 в 03:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: