foreach と for を使用してカンマ区切りのリストを作成しています。以下はコードです...
$timeofdaylist = "";
foreach($_POST['timeofday'] as $key => $value)
{
if($timeofdaylist == "")
{
$timeofdaylist = "'".$value."'";
}
else
{
$timeofdaylist .= ",'".$value."'";
}
}
echo $timeofdaylist;
上記のコードは、「AM」、「PM」のようなカンマ区切りのリストを提供します。
ここで、最初の条件$timeofdaylist == ""
は期待どおりに正しく機能しています。
そして今、別のコード
$timeofdaylist = "";
var_dump($timeofdaylist);
for($i=0;$i<count($_POST['timeofday']);$i++) {
if($timeofdaylist == "") {
$timeofdaylist = "'".$_POST['timeofday'][$i]."'";
} else {
$timeofdaylist = ",'".$_POST['timeofday'][$i]."'";
}
}
echo $timeofdaylist;
上記のコードは、次のように最後の値のみを出力します: ,'PM'
timeofdaylist を var_dumped して、最初の条件の前にチェックし$timeofdaylist == ""
ました。length=0 を示します。
上記の 2 つのコードの違いを区別できる人はいますか? ティア