我想知道是否有可能转换以下数组:
Array (
"2016-03-03 19:17:59",
"2016-03-03 19:20:54",
"2016-05-03 19:12:37"
)
Run Code Online (Sandbox Code Playgroud)
进入:
Array (
"2016-03-03",
"2016-03-03",
"2016-05-03"
)
Run Code Online (Sandbox Code Playgroud)
没有创建任何循环?
如果可以使用array_map,则没有显式循环,尽管内部循环:
function format_date($val) {
$v = explode(" ", $val);
return $v[0];
}
$arr = array_map("format_date", $arr);
Run Code Online (Sandbox Code Playgroud)
从PHP手册:
array_map()返回一个数组,其中包含array1将callback函数应用于每个元素之后的所有元素.callback函数接受的参数数量应该与传递给的数组的数量相匹配array_map().
此外,当您处理日期时,正确的方法如下:
return date("Y-m-d", strtotime($val));
Run Code Online (Sandbox Code Playgroud)
使用循环的简单方法是使用foreach():
foreach($arr as $key => $date)
$arr[$key] = date("Y-m-d", strtotime($date));
Run Code Online (Sandbox Code Playgroud)
这是我能想到的最简单的循环方式index.
输入:
<?php
$arr = array(
"2016-03-03 19:17:59",
"2016-03-03 19:20:54",
"2016-05-03 19:12:37"
);
function format_date($val) {
$v = explode(" ", $val);
return $v[0];
}
$arr = array_map("format_date", $arr);
print_r($arr);
Run Code Online (Sandbox Code Playgroud)
产量
Array
(
[0] => 2016-03-03
[1] => 2016-03-03
[2] => 2016-05-03
)
Run Code Online (Sandbox Code Playgroud)