[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: обновление одного значения массива
udaff.es
добрый день.
есть массив вида:
$arr[] = array('id'   => 2, 'df'  => 4);

как мне обновить значение ключа 'df' не переписывая все ключи заново?




Спустя 21 минута, 15 секунд (25.03.2010 - 19:16) NewBePhp написал(а):
udaff.es
тока так $arr['df'] = 2; то уже перегружаем ...

Спустя 8 минут, 56 секунд (25.03.2010 - 19:25) udaff.es написал(а):
не, ты не понял.
массив следующего вида:
$arr[] = array('id'   => 2, 'df'  => 4);
$arr[] = array('id' => 1, 'df' => 5);
$arr[] = array('id' => 3, 'df' => 2);
$arr[] = array('id' => 5, 'df' => 3);


мне нужно обновить свойства, к примеру, где id=3.
как найти эту строчку я знаю. проблема в том, что свойств гораздо больше, и нет желания их переписывать заново.
есть возможность без переписывания?

Спустя 33 минуты, 37 секунд (25.03.2010 - 19:59) udaff.es написал(а):
помоемому ты не догоняешь smile.gif

при таком способе к массиву добавляется элемент.

Спустя 49 минут, 50 секунд (25.03.2010 - 20:49) NewBePhp написал(а):
udaff.es
кхе кхе возможно тогда вот тут смотри http://php.su/functions/?array-push

Спустя 53 минуты, 56 секунд (25.03.2010 - 21:43) sergeiss написал(а):
А я чегой-то не понял, в чем проблема?
Проходим циклом foreach по массиву. Находим строку, где id=3 (точнее, где элемент с ключом id равен 3). И меняем все нужные элементы, не трогая остальные.
Твой массив, по сути, является 2-мерным.

$arr[] = array('id'   => 2, 'df'  => 4);
$arr[] = array('id' => 1, 'df' => 5);
$arr[] = array('id' => 3, 'df' => 2);
$arr[] = array('id' => 5, 'df' => 3);
....

// вот так можно поменять
foreach( $arr as $k => $val)
{
if( $val['id'] == 3 ) $arr[$k]['df']=335;
}


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.