私が勉強しているこのコードがありますが、特定の行の目的がわかりません。
public function insertRecords($table, $data){
//setup some variables for fields and values
$fields = "";
$values = "";
//populate them
foreach($data as $f => $v){
$fields .= "`$f`,";
$values .= (is_numeric($v) && (intval($v) == $v)) ? $v . "," : "'$v',";
}
//remove our trailing ,
$fields = substr($fields, 0, -1);
//remove our trailing ,
$values = substr($values, 0, -1);
$insert = "INSERT INTO $table ({$fields}) values({$values})";
//echo $insert
$this->executeQuery($insert);
return true;
}
次の目的がわかりません。
intval($v) == $v))
三項演算子で。私が理解しているのは、 $v の整数値が $v と同じである場合は何とかなるということです。もちろん、$v の整数値は $v と等しくなります。これは、現在の反復における現在の値です。私の理解は間違っていますか?
intval() が整数を返さない場合、デフォルトで三項演算子の文字列になることはすでに知っています。