Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Добавление массива

850
04 апреля 2003 года
cic
3 / / 20.03.2000
Как можно добавить массив?
С помощью функции merge неподходит т.к. заменяет ключи при совпадении.
а при операции добавления пишет, что такая операция не возможна

$arr3=$arr1+$arr2;

А вообще мне нужно, при совпадении ключей массив обработать соответствующим образом, Например

$arr1=array("yo"=>1,"ups"=>1);
$arr2=array("hello"=>1,"ups"=2);

Чтобы на выходе получилось

$arr3=array("yo"=>1,"ups"=>3,"hello"=>1);

или выдать сообщение, что "ups" уже есть
250
04 апреля 2003 года
Joker
1.4K / / 20.02.2000
Цитата:
Originally posted by cic
Как можно добавить массив?
С помощью функции merge неподходит т.к. заменяет ключи при совпадении.
а при операции добавления пишет, что такая операция не возможна

$arr3=$arr1+$arr2;

А вообще мне нужно, при совпадении ключей массив обработать соответствующим образом, Например

$arr1=array("yo"=>1,"ups"=>1);
$arr2=array("hello"=>1,"ups"=2);

Чтобы на выходе получилось

$arr3=array("yo"=>1,"ups"=>3,"hello"=>1);

или выдать сообщение, что "ups" уже есть


Фу-ции такой я не наел, зато вот какой путь решения придумал:
array-keys - делаешь эту операция над обоими масивами, и заганяешь в третий массив, все ключи 2х массивов.
затем array-unique удаляем все совпадающие ключи.
а затем проверяешь array_key_exists наличие ключей этого массива, в каждом из массивов и делаешь 4 нужный тебе массив.
Конешно коряво но зато никаких циклов..
А сколько у тебя примерно записей в каждом массиве.. ?

850
07 апреля 2003 года
cic
3 / / 20.03.2000
Вообщем я вроде бы справился:-)
Только тут удаляються пустые строки...

foreach($arr1 as $arr1_key=>$arr1_value)
{
if(!isset($arr3)){$arr3=array();} //наш массив (корзина) если еще не создан
if($arr1_value!="") //если текущая строка не пустая
{
$arr2=array($arr1_key=>$arr1_value); //закидуем в в дополнителный массив
$arr3=$arr3+$arr2; //дополняем наш массив текущей строкой
}
}

Для чего это мне нужно было?
Есть таблица. Из нее выбираеться понравившийся товар и закидуеться массив. И регистрируеться в виде переменной сессии. После чего уже закидуеться в базу. А может быть это как то по другому все делаеться :-?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог