"PHP" / Говнокод #2044 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
$arr = getArr1();
$arr2 = getArr2();
foreach ($arr2 as $key => $value){
	$arr[$key] = $value;
}

вот такой вот способ суммировать массивы

Запостил: paranoid paranoid, (Updated )

Комментарии (19) RSS

  • Я тут вижу копирование массива, а не суммирование. Странно, а нельзя было сделать так?
    $arr = $arr2;
    Ответить
    • тут именно суммирование.
      элементы из массива arr2 будут добавлены в arr1, причем, если у них есть общие ключи, то они будут заменены на соответствующие значения arr2.
      Аналог array_merge, в общем
      Ответить
      • Только наоборот надо переставить переменные
        $arr = $arr2 + $arr;
        Ответить
        • значения из $arr заменяются значениями из $arr2 - так что $arr + $arr2
          Ответить
          • Все правильно, поэтому $arr2 + $arr
            Т.е. если есть ключ и в первом и во втором слагаемом, то значение не заменяется из второго слагаемого. Если нет, то просто добавляется.
            Ответить
            • если ты внимательно посмотришь, то окажется, что в цикле происходит именно замена. а значит $arr + $arr2
              Ответить
              • И я про то же самое говорю, именно про замену. Второй аргумент не заменяет значения из первого с одинаковыми ключами. Поэтому надо поменять местами слагаемые. Вот же какой упертый, взял бы и проверил
                <?
                
                $arr = array(
                	'a' => 'arr',
                );
                $arr2 = array(
                	'a' => 'arr2',
                );
                
                print_r($arr + $arr2); // Будет arr (и где замена?)
                print_r($arr2 + $arr); // Будет arr2 (а вот здесь есть замена)
                ?>
                Ответить
                • мда...
                  Замечание: Общие ключи будут перезаписаны по принципу "первый пришел - первый обработан".
                  и пойми тут что в мануале этим хотели сказать.
                  Ответить
                • Вот это да!
                  На протяжении пяти комментариев выясняется, как же нужно написать: так или эдак, чтобы говнокод разрешить...
                  Сила!
                  Ответить
                  • А что делать, если не верит, как должно быть правильно 🙂
                    Ответить

Добавить комментарий

Помни, guest, за тобой могут следить!

    А не использовать ли нам bbcode?


    8