年月日を追加する関数を作成しました。しかし、私は小さな問題がありますが、時には年を追加したい場合もありますが、関数には3つの引数(年、月、日)があるので、警告が表示されます:PHP:3つの引数を持つ関数>より少ない引数で使用する
警告:addDate 10行目でC:\ xampp \ htdocs \ date.phpで呼び出され、2行目でC:\ xampp \ htdocs \ date.phpに定義されています。
警告:Cで呼び出されたaddDate() \ XAMPP \ htdocsに\ date.phpライン10上及びCで定義された:行の\ XAMPP \ htdocsに\ date.php 2
<?php
function addDate($years, $months, $days)
{
$currentDate = date('Y-m-d');
$newDate = date('Y-m-d', strtotime($currentDate. '+'. $years. ' years +'. $months. ' months +'. $days. ' days'));
echo $newDate;
}
addDate(2);
?>
I'v eはaddDate(2、null、null)を使用しようとしました。しかし、それは動作しません。おそらく(
$newDateString = '';
if ($years > 0) $newDateString .= " +$years years";
if ($months > 0) $newDateString .= " +$months months";
if ($days > 0) $newDateString .= " +$days days";
$newDate = date('Y-m-d', strtotime(date('Y-m-d') . $newDateString));
最後に、あなたは以下となります。
関数定義に[default values](http://php.net/manual/en/functions.arguments.php)を設定します: 'function addDate($ years、$ months = 0、$ days = 0) ' –
' addDate(2、0、0);は関数を編集せずに動作するはずです。しかし、最も良い解決策は、他のものが示唆しているようにデフォルト値を使うことです。 – dan08
例えば曜日を追加したい場合は、関係なく 'addDate(0、0、2)'が必要です。 – AbraCadaver