我var_dump
编了一个显示这些元素的数组(有266个,但我告诉你两个)。
array(266) {
[1]=>
array(5) {
["date_created"]=>
string(10) "1381816800"
["project_number"]=>
string(5) "02783"
["name"]=>
string(9) "sdfsdfdfd"
["description"]=>
string(13) "dsfsfdsfdssdf"
["manager"]=>
string(11) "Kevin Allen"
}
[21]=>
array(5) {
["date_created"]=>
string(10) "1381816800"
["project_number"]=>
string(5) "02783"
["name"]=>
string(9) "sdfsdfdfd"
["description"]=>
string(13) "dsfsfdsfdssdf"
["manager"]=>
string(16) "Carter Hilkewich"
}
}
我也需要在这个数组中转换日期:m-d-Y
所以我写道:
private function dateConverter($array){
foreach($array as $key=>$value){
if(isset($value['date_created'])){
$value['date_created'] = date("m-d-Y", strtotime($value['date_created']));
}
}
return $array;
}
您将数组传入,遍历,转换日期并返回数组。简单。 'Cept它返回的是完全相同的数组。所以我想知道我需要将“新”数组保存到一个单独的数组中吗?我有一个类似的功能,用对象做这个,我从来没有保存过“新”对象。
想法?
答案 0 :(得分:1)
两件事:
foreach
未通过引用传递值,因此直接修改它不会将其存储回原始数组date_created
字段已经是时间戳,不需要strtotime
试试这个:
private function dateConverter($array){
foreach($array as $key => &$value){
if(isset($value['date_created'])){
$value['date_created'] = date("m-d-Y", $value['date_created']);
}
}
return $array;
}