Почему значение ключа массива не обновляется?
У меня есть массив под названием $test_data
и хочу обновить ключ ['test_duration']
, Однако я не могу сделать это обновление. Рассмотрим следующий массив:
Array
(
[0] => Array
(
[test_id] => 1116
[test_name] => ques stats
[test_no_questions] => 50
[test_duration] => 28800
)
[1] => Array
(
[test_id] => 1112
[test_name] => Own Test 1
[test_no_questions] => 2
[test_duration] => 7200
)
)
Я попробовал следующее, но это не сработало:
foreach ($test_data as $key => $value) {
$value[$key]['test_duration'] = ConvertTimeStampToTimeFormate($value['test_duration']);
}
Если я распечатаю массив после этой манипуляции, он печатает тот же массив, что и раньше. В чем здесь проблема?
3 ответа
Решение
Обновить $test_data вместо $value
foreach ($test_data as $key => $value) {
$test_data[$key]['test_duration'] = ConvertTimeStampToTimeFormate($value['test_duration']);
}
Вы должны гнездиться дальше.
foreach ($test_data as $arr)
{
foreach($arr as $k=>$v)
{
$value[$k]['test_duration'] = ConvertTimeStampToTimeFormate($value['test_duration']);
}
}
Используйте как это,
foreach ($test_data as $key => $value) {
$test_data[$key]['test_duration'] = ConvertTimeStampToTimeFormate($value['test_duration']);
}