通过数组中的键递归运行函数值

时间:2013-10-23 07:07:53

标签: php arrays multidimensional-array str-replace conventions

我想通过多维数组的键来运行函数或替换值。

这是我拥有的数组的例子。

  'data' => array
    (
        '0' => array
        (
            'id' => '2039'
            'status' => 'OK'
            'date' => 1382339688
        )
        '1' => array
        (
            'id' => '33000'
            'status' => 'OK'
            'date' => 1378645263
        )
        '2' => array
        (
            'id' => '18800'
            'status' => 'Failed'
            'date' => 1381224889
        )
        '3' => array
        (
            'id' => '34522'
            'status' => 'OK'
            'date' => 1378973015000
        )
)

例如我要打电话的功能。

  

recursive_array_replace_by_key($ array,$ key,$ function);

如果想要修复数组中的所有日期,我会这样做:

  

recursive_array_replace_by_key($ array,'date,gmdate(“Y-m-d \ TH:i:s \ Z”,$ value)); //将所有日期值转换为格式化日期。

替换所有状态:

  

recursive_array_replace_by_key($ array,'status,'NA'); //将所有状态值转换为NA

我希望能够在不知道结构有多长的情况下搜索数组。

1 个答案:

答案 0 :(得分:1)

我认为以下功能可以帮助您这样做。

function formatdate($array,$field,$format)
{
    foreach($array as $arr)
    {
        $arr[$field]=date($format,$arr[$field]);
    }
    return $arr;
}

调用以上函数,例如formatdate($array,'date','Y-m-d\TH:i:s\Z');

希望这有帮助