Назначение переменной ключа внутри array_walk () не меняет значениеPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Назначение переменной ключа внутри array_walk () не меняет значение

Сообщение Anonymous »

function values($id,$col)
{
$vals = [1=>['name'=>'Lifting Heavy Boxes']];
return $vals[$id][$col];
}
$complete = [1=>["id"=>"2","sid"=>"35","material_completed"=>"1","date"=>"2017-12-18"]];
$form = 'my_form';

array_walk($complete, function(&$d,$k) use($form) {
$k = values($k, 'name').' ['.date('m/d/y',strtotime($d['date'])).'] ('.$form.')';
echo 'in walk '.$k."\n";
});
print_r($complete);
< /code>

echo < /code> выходы: < /p>

in walk Lifting Heavy Boxes [12/18/17] (my_form)< /code> < /p>

print_r < /code> выходы: < /p>

Array
(
[1] => Array
(
[id] => 2
[sid] => 35
[material_completed] => 1
[date] => 2017-12-18
)

)
< /code>

У меня есть еще одна похожая массив, которая очень похожа, которая отлично справляется. Единственная разница, которую я могу воспринимать между ними, заключается в том, что работает, значение $ D уже является строкой, прежде чем она пройдет через прогулку, тогда как в том, что не работает, $ D - это массив, который преобразуется в строку внутри Прогулка (успешно, но в конечном итоге безуспешно). < /p>

Что -то, чего мне не хватает? < /p>

А вот фиксированная версия: < /p>

array_walk($complete, function(&$d,$k) use($form) {
$d = values($k, 'name').' ['.date('m/d/y',strtotime($d['date'])).'] ('.$form.')';
});
< /code>

Это то, что я пытался сделать в любом случае. Я не пытался изменить ключ. У меня было ошибочное впечатление, что, чтобы изменить значение, которое вам пришлось установить ключ на новое значение.

Подробнее здесь: https://stackoverflow.com/questions/602 ... -the-value
Ответить

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

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»