LINUX.ORG.RU

История изменений

Исправление no-such-file, (текущая версия) :

сложение умеет складывать только ассоциативные массивы перезаписью

Там все массивы ассоциативные. И не перезаписью, а наоборот, берётся то, чего в левом массиве нет.

php > print_r([1,2,3] + [5,6,7,8]);
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 8
)

array_merge рассматривает числоподобные ключи особо, объединяя такие ключи в контексте неассоциативного массива (имитируя обычный массив). Когда в массиве есть и строковые ключи и числовые это конечно усложняет ситуацию для понимания (хотя логика сохраняется, её можно проследить и ничего не ломается). Но в том то и суть, которую я тебе пытаюсь донести. На практике такое не используется, массивы делаются либо только с числовыми ключами, либо с ключами из строк и поэтому никаких практических проблем это не вызывает. С академической точки зрения это трэш и содомия, да. Но почему-то в академическом питоне проблемы с выразительностью (тривиальные конструкции делают не то, что хотелось бы), а в трэшовом пыхе и жс нет.

Исходная версия no-such-file, :

сложение умеет складывать только ассоциативные массивы перезаписью

Там все массивы ассоциативные. И не перезаписью, а наоборот, берётся то, чего в левом массиве нет.

php > print_r([1,2,3] + [5,6,7,8]);
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 8
)

array_merge рассматривает числоподобные ключи особо, объединяя такие ключи в контексте неассоциативного массива (имитируя обычный массив). Когда в массиве есть и строковые ключи и числовые это конечно усложняет ситуацию для понимания (хотя логика сохраняется, её можно проследить и ничего не ломается). Но в том то и суть, которую я тебе пытаюсь донести. На практике такое не используется, массивы делаются либо только с числовыми ключами, либо с ключами из строк и поэтому никаких практических проблем это не вызывает. С академической точки зрения это трэш и содомия, да. Но почему-то в академическом питоне проблемы в выразительностью (тривиальные конструкции делают не то, что хотелось бы), а в трэшовом пыхе и жс нет.