PHP 中的日期变量


date variables in php

我编写了一个代码,用于将存储在三个不同变量中的日期,月份和年份变量附加到数组中,并使用implode函数将其更改为适当的日期格式;但这并没有按预期显示输出。代码如下:

$year = 2012;
$month1 = $_POST["month1"];
$date = $_POST["date"];
$array[] = "{$year}{$month1}{$date}";   
$imp = implode('/',$array);
echo $imp;

在这里,$date$month1取自表格....输出显示为20121220,但不显示为2012/12/20

上面的代码有什么问题?

$array[] = "{$year}{$month1}{$date}"; 

是数组的有效构造,但它不是您想要的构造。它创建一个带有一个由字符串组成的元素的数组。

使用内爆函数,您希望将几个不同的元素内爆为一个,因此日期的每个部分都应该是一个元素。喜欢这个:

$array = array($year, $month1, $date);

你没有把每个项目放在一个数组中。您正在创建单个字符串。把它放在一个数组是要做的:

$arr = array($year, $month1, $date);

但是,为什么不直接这样做

$result = "{$year}/{$month1}/{$date}";   

只需使用sprintf()

$result = sprintf("%04d/%02d/%02d", $year, $month, $date);
您的

$array未按预期设置。尝试:

$array = array($year, $month1, $date);
$imp = implode('/',$array);
echo $imp;

你试过吗..

$array = array($year,$month1,$date);   
$imp = implode('/',$array);

$array[] = "{$year}{$month1}{$date}";有几个问题:

1) 数组表示如下:

array($year, $month1, $date);

2) 数组分配时没有[]

所以你想说

$array = array($year, $month1, $date);