PHP - 替换拆分

时间:2011-03-11 16:29:41

标签: php

我有这两个函数,我必须用另一个php命令替换split:

function date_fr_mysql($date) {
    list($jour,$mois,$annee)=split("/",$date);
    $date = $annee."-".$mois."-".$jour;
    return $date;
} 


function date_mysql_fr($date) {
    list($annee,$mois,$jour)=split("-",$date);
    $date = $jour."/".$mois."/".$annee;  
    return $date;
} 

我可以用哪个函数替换它来获得相同的结果?

非常感谢。

5 个答案:

答案 0 :(得分:5)

您可以使用explode功能。

答案 1 :(得分:4)

函数explodesplit类似,但它不是正则表达式。如果您需要正则表达式支持,请使用preg_split

答案 2 :(得分:2)

我在PHP手册中有关于分割功能的日期:

<?php  
// Delimiters may be slash, dot, or hyphen                     `

    $date = "04/30/1973";  
    list($month, $day, $year) = split('[/.-]', $date);  
    echo "Month: $month; Day: $day; Year: $year";  
?> 

经过一些实验,避免弃用警告并仍然具有相同结果的解决方案是:

<?php  
    // Delimiters may be slash, dot, or hyphen  
    // test preg_split per /
     $valore2 = "2010/01/01";

    //list($month, $day, $year) = split('[/.-]', $valore2);
    list($year, $month, $day) = preg_split('[/|\.|-]', $valore2);
    echo "Month: $month; Day: $day; Year: $year\n";

    // test preg_split per -
    $valore2 = "2010-01-01";

    //list($month, $day, $year) = split('[/.-]', $valore2);
    list($year, $month, $day) = preg_split('[/|\.|-]', $valore2);
    echo "Month: $month; Day: $day; Year: $year\n";

    // test preg_split per .   
    $valore2 = "2010.01.01";

    //list($month, $day, $year) = split('[/.-]', $valore2);
    list($year, $month, $day) = preg_split('[/|\.|-]', $valore2);
    echo "Month: $month; Day: $day; Year: $year\n";
?>

希望这有帮助。

答案 3 :(得分:1)

鉴于您似乎只是将-更改为/,如何

$date = str_replace('-', '/', $date);

答案 4 :(得分:1)

date ( 'Y-m-d', strtotime ( $your_date ) );