Как назначить значения ассоциативного Массива в php?
В массив, например:
$arr = array('item1', 'item2' ... 'itemN');
я Хочу присвоить значение каждого элемента. Для этого, пробовал foreach:
foreach($arr as $a => $b)
$b = 4;
Но это проинформированы IDE (phpStorm), что локальная переменная не используется;
(unused local variable '$b')
Как я придаю значение элемента этого массива??
2 answers
Сделать назначение, передав ключ, то это служит как для массивов associativos как númericos. Тогда просто подберите ключ ($key
), массив и присвоить новое значение.
foreach($arr as $key => $value){
$arr[$key] = 'novo valor';
}
print_r($arr);
Другой способ, еще, что с помощью ссылки.
foreach ($arr as $key => &$value) {
$value = 'novo valor';
}
unset($value); // Tem que apagar, pois o último sempre fica como referência.
При использовании сигнала &$value
, значение прошлого для текущей итерации foreach
будет указывать значение исходной array
, однако в качестве ссылки. Если вы изменить его текущее значение, указал также будет изменен.
Обратите Внимание, что в конце я использовал unset
, ибо, если не сделать так, при изменении значения $value
из foreach
, последний элемент $arr
будет изменен.