2016-05-20 12 views
0

DateTime Objをクローンして、同じステートメント内のメソッドをすべて呼び出すことはできますか?私はそれがオブジェクトのインスタンス化で行うことができることを知っています。クローン作成時にテストスクリプトを試しましたが、うまくいきませんでした。PHP - 同じステートメントでオブジェクトと呼び出しメソッドをクローズ

<?php 
// instead of 
$nextDay = clone $startDate; 
$nextDay->add(new DateInterval('P1D')); 

// something like this instead 
$test = ['test' => (clone $nextDay)->add(new DateInterval('P1D'))];  
?> 
+0

コードはありません。また、あなたは何をコピーしたいのか、どのメソッドを呼びたいのかについては非常識です。 – Glubus

+0

申し訳ありませんが、私はそれを解決するために熱心な、それを編集させてください。 –

答えて

1

それはしかし、あなたは、単にPHP5で開始日と終了日を取得することができますPHP7

EDIT

をで動作しますPHP7ではなく、PHP5

$startDate = new DateTime(); 
$endDate = (clone $startDate)->add(new DateInterval('P7D')); 

echo $endDate->format('Y-m-d'); 

ですadd()メソッドが元の値を変更せずに新しいオブジェクトを返すDateTimeImmutableを利用することによって実現します。

$startDate = new DateTimeImmutable(); 
$endDate = $startDate->add(new DateInterval('P7D')); 

echo $startDate->format('Y-m-d'), PHP_EOL; 
echo $endDate->format('Y-m-d'), PHP_EOL; 
+0

ああダム、大丈夫です。 –

関連する問題