第一个键名前为什么加","号?

function insert($table,$array)
{
	//array_keys — 返回数组中所有的键名
	$keys=join(",",array_keys($array));
	//array_values — 返回数组中所有的值 
	$vals="'".join("','",array_values($array))."'";
	$sql="insert {$table}({$keys}) values({vals})";
	mysql_query($sql);
	//mysql_insert_id — 取得上一步 INSERT 操作产生的 ID 
	return mysql_insert_id();
}

一般的插入语句不是"insert table (table_id,table_title) values($id,$title)"这样吗?

也没见加啊。。。

错过了年华
浏览 1393回答 2
2回答

我是新手_请多指教

虽然还没写过这样的代码,个人理解array_keys($array)返回值是把数组中的键名当作值组成一个新的数组,代码中join只是把这个新的一维数组中的值用逗号拼成一个字符串,所以第一值前不会有逗号的,建议不太明白的函数打开php手册查看下例子就懂了!如下:$array = array('lastname', 'email', 'phone'); $comma_separated = implode(",", $array);            //  join为implode别名; echo $comma_separated;                      结果: lastname,email,phone

ruibin

$keys=join(",",array_keys($array));这个的意思是array_keys($array)中所有项以逗号拼接,不是先在前面加个逗号的意思。
打开App,查看更多内容
随时随地看视频慕课网APP