我有一个名为$test_package_data
的动态生成的巨大数组。为了您的理解,我在下面给出了数组$test_package_data
的内容。
现在我想要实现的是转换数组键的值
$test_duration = ConvertTimeStampToTimeFormate($some_key['test_duration']);
简而言之,我想更新数组中键['test_duration']
eveywhere的值。但是不了解我应该如何遍历数组并获得所需的结果。
答案 0 :(得分:4)
如果密钥与'test_duration'
匹配,您可以使用array_walk_recursive()
并调整值:
array_walk_recursive($test_package_data, function(&$value, $key) {
if ($key == 'test_duration') {
$value = ConvertTimeStampToTimeFormate($value);
}
});
答案 1 :(得分:1)
您可以循环$test_package_data['category_detail'][0]['test_detail']
。所以代码就像是,
foreach($test_package_data['category_detail'][0]['test_detail'] as $key => $value){
$test_package_data['category_detail'][0]['test_detail'][$key]['test_duration'] =
ConvertTimeStampToTimeFormate($value['test_duration']]);
}
答案 2 :(得分:0)
虽然array_walk_recursive
是最好的,但这也应该有用。
function changValue($dataArray) {
foreach($dataArray as $key=>$val) {
if(is_array($val)) {
return changValue($val);
} else {
if ($key == 'test_duration') {
$value = ConvertTimeStampToTimeFormate($value);
}
}
}
}
changeValue($yourArray);