-1

3つの異なる変数に格納されている日付、月、年の変数を配列に追加するためのコードを記述し、implode関数を使用してそれを適切な日付形式に変更しました。しかし、それは期待どおりの出力を示していません。コードは次のとおりです。

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

ここ$date$month1、フォームから取得されます....出力はとして表示されますが、としては表示され20121220ません2012/12/20

上記のコードの何が問題になっていますか?

4

6 に答える 6

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

配列の有効な構成ですが、必要な構成ではありません。文字列で構成される1つの要素を持つ配列を作成します。

内破関数では、いくつかの異なる要素を1つに内破したいので、日付のすべての部分が要素である必要があります。このような:

$array = array($year, $month1, $date);
于 2012-05-10T16:47:09.233 に答える
3

各アイテムを配列に入れているのではありません。単一の文字列を作成しています。配列にすると、次のようになります。

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

しかし、なぜ

$result = "{$year}/{$month1}/{$date}";   
于 2012-05-10T16:47:30.257 に答える
2

使用するだけsprintf()

$result = sprintf("%04d/%02d/%02d", $year, $month, $date);
于 2012-05-10T16:49:12.150 に答える
1

期待どおりに設定されていませ$arrayん。試す:

$array = array($year, $month1, $date);
$imp = implode('/',$array);
echo $imp;
于 2012-05-10T16:47:53.537 に答える
1

やってみました..

$array = array($year,$month1,$date);   
$imp = implode('/',$array);
于 2012-05-10T16:48:13.707 に答える
0

$array[] = "{$year}{$month1}{$date}";いくつかの問題があります:

1)配列は次のように表されます。

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

2)配列はなしで割り当てられます[]

だからあなたは言いたい

$array = array($year, $month1, $date);
于 2012-05-10T16:50:32.787 に答える