Доброго времени суток! Вопрос этот наверное нубский, но я хз почему то я не могу увидеть реально разницы между этими двумя функциями. либо я туплю и что-то делаю не так, или реально нет разницы между ними в реальности. мануал еще раз прочитал https://www.php.net/manual/ru/function.array-replace.php https://www.php.net/manual/ru/function.array-merge.php проверяю вот например: PHP: $array1 = array("title" => "111", "title3" => "333"); $array2 = array("title" => "222", "title2" => "222"); $result = array_merge($array1, $array2); $result2 = array_replace($array1, $array2); echo '<pre>'; print_r($result); echo '</pre>'; echo '<pre>'; print_r($result2); echo '</pre>'; http://www.writephponline.com результат одинаковый Код (Text): Array ( [title] => 222 [title3] => 333 [title2] => 222 ) Array ( [title] => 222 [title3] => 333 [title2] => 222 )
а теперь в этих массивах ключи убираем и становится совсем другой результат. --- Добавлено --- по натив функционалу: в массиве невозможно держать два одинаковых ключа, поэтому array_merge при сливании/добавление в одно целое, автоматически перезаписывает по последующему, идентичному ключу - значение. Просто потому что невозможно --- Добавлено --- ------- Ты не указал ключ ? почему не заменяется как по вышесказанному ? да потому что ты их не указал и их в природе (ОЗУ имена ключей) не регистрируется. В print_r и т.д. нам подставляют ключи по дефолту
спасибо, да как раз вот нагуглил этот вопрос, да там дело в числовых ключах https://overcoder.net/q/485941/различия-между-arrayreplace-и-arraymerge-в-php только вот хз, важно ли это например для конфигов типа ключ -> значение всегда же в конфигах ключ - это строка и array_merge для конфигов будет достаточно, разве может быть иначе ?