Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Есть ли стандартная функция для замены значения первого массива элементом с тем же ключом / 10 сообщений из 10, страница 1 из 1
27.07.2012, 20:16:35
    #37896078
Няша ррр
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли стандартная функция для замены значения первого массива элементом с тем же ключом
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
<?php

function replace_values(&$array, $replacements) {
    foreach ($array as $k => &$v) {
        if (isset($replacements[$k])) {
            $v = $replacements[$k];
        }
    }
}



тип такого, array_replace аналогична объединению
...
Рейтинг: 0 / 0
27.07.2012, 21:58:23
    #37896134
Edd.Dragon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли стандартная функция для замены значения первого массива элементом с тем же ключом
авторarray_replace аналогична объединению
В смысле?
...
Рейтинг: 0 / 0
28.07.2012, 00:37:40
    #37896225
Няша ррр
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли стандартная функция для замены значения первого массива элементом с тем же ключом
Edd.Dragon, она не походит
...
Рейтинг: 0 / 0
28.07.2012, 00:49:52
    #37896238
ScareCrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли стандартная функция для замены значения первого массива элементом с тем же ключом
array_merge
...
Рейтинг: 0 / 0
28.07.2012, 00:59:35
    #37896249
Няша ррр
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли стандартная функция для замены значения первого массива элементом с тем же ключом
ScareCrow, она из второго массива добавит недостающие значения в первый, а мне этого не надо(ключи первого массива имена колонок таблицы и массив, короче $db->insert($table, $set))

короче такой ф-ии нету специально посмотрел

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
// <?php

function array_update(&$a, $b) {
    foreach ($a as $k => &$v) {
        if (isset($b[$k])) {
            $v = $b[$k];
        }
    }
}
...
Рейтинг: 0 / 0
28.07.2012, 01:20:04
    #37896253
Edd.Dragon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли стандартная функция для замены значения первого массива элементом с тем же ключом
Внатуре добавляет... А какой в ней смысл тогда? Мда...
...
Рейтинг: 0 / 0
28.07.2012, 01:28:28
    #37896258
ScareCrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли стандартная функция для замены значения первого массива элементом с тем же ключом
а чем array_replace таки не подошел?
...
Рейтинг: 0 / 0
28.07.2012, 02:04:47
    #37896269
Edd.Dragon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли стандартная функция для замены значения первого массива элементом с тем же ключом
ScareCrowа чем array_replace таки не подошел?
О нем и речь - он тоже добавляет элементы, которых не было в исходном массиве.
...
Рейтинг: 0 / 0
29.07.2012, 16:53:13
    #37896876
Ренат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли стандартная функция для замены значения первого массива элементом с тем же ключом
Няша ррр,

ну раз мердж добавляет лишнего, то удалите лишнее
Код: php
1.
2.
3.
function replace_values(&$array, $replacements) {
$array = array_merge($array, array_intersect_assoc($array, $replacements));
}
...
Рейтинг: 0 / 0
29.07.2012, 17:19:47
    #37896885
Edd.Dragon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли стандартная функция для замены значения первого массива элементом с тем же ключом
Вычислительно не целесообразно, при том, что "вручную" в цикле - не менее лаконично.
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Есть ли стандартная функция для замены значения первого массива элементом с тем же ключом / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]