我的数组输出如下: -
Array
(
[0] => 25-08-2014
[1] => 26-08-2014
[2] => 27-08-2014
[3] => 28-08-2014
)
我需要将其转换为: -
$duration = array("25/08/2014", "26/08/2014", "27/08/2014");
我尝试在此功能中使用它: -
if (in_array($dateOutput, $duration))
我该怎么做?
答案 0 :(得分:0)
如果我理解正确,您只想将-
更改为/
?
然后你可以用这个:
<?php
$dates = array("25-08-2014", "26-08-2014", "27-08-2014");
$total = count($dates);
for( $i=0; $i<$total; $i++) {
$dates[$i] = str_replace( '-', '/', $dates[$i] );
}
print_r( $dates );
?>
另一种方法是使用array_map()
功能:
<?php
function swapIt($value) {
return str_replace( '-', '/', $value );
}
$dates = array("25-08-2014", "26-08-2014", "27-08-2014");
$newDates = array_map( "swapIt", $dates );
print_r( $newDates );
?>
答案 1 :(得分:0)
尽管(正如许多评论者所说),你应该展示你的尝试。请参阅以下解决方案:
$arr = array(
"25-08-2014",
"26-08-2014",
"27-08-2014"
);
function reformat($date_string)
{
return str_replace('/', '-', $date_string);
}
$arr_editted = array_map('reformat', $arr);
这将为您提供所需的价值。您也可以使用array_map
的匿名函数;但由于我不确定你的PHP版本,你应该使用它。
答案 2 :(得分:0)
你需要做这样的事情:
$dateOutputs = array("25-08-2014", "26-08-2014", "27-08-2014", "28-08-2014");
$duration = array("25/08/2014", "26/08/2014", "27/08/2014");
foreach ($dateOutputs as $dateOutput) {
$neededDate = date('d/m/Y', strtotime($dateOutput));
if (in_array($neededDate, $duration)) {
// do something here
}
}
希望它有所帮助。