array2string函數(shù) 是phpcms自帶的函數(shù)
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡(jiǎn)單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:空間域名、雅安服務(wù)器托管、營(yíng)銷軟件、網(wǎng)站建設(shè)、內(nèi)黃網(wǎng)站維護(hù)、網(wǎng)站推廣。
/phpcms/libs/functions/global.func.php 第293行
/**
* 將數(shù)組轉(zhuǎn)換為字符串
*
* @param array $data 數(shù)組
* @param bool $isformdata 如果為0,則不使用new_stripslashes處理,可選參數(shù),默認(rèn)為1
* @return string 返回字符串,如果,data為空,則返回空
*/
function array2string($data, $isformdata = 1) {
if ($data == '')
return '';
if ($isformdata)
$data = new_stripslashes($data);
return addslashes(var_export($data, TRUE));
}
lxydjx 正解,我來詳細(xì)補(bǔ)充一下吧。未經(jīng)測(cè)試、、、
//初始化
$sql = array();
// 從 a.php POST 過來的值
$_POST["xinxi"] = "20-2,19-1,18-1";
// 拆分為 array("20-2", "19-1", "18-1");
$post_data = explode(",", $_POST["xinxi"]);
// 循環(huán)數(shù)組
for($i = 0; $i count($post_data); $i++) {
// 再次拆分每一條信息為 array("20", "2"), array("19", "1"), array("18", "1")
$details = explode("-", $post_data[$i]);
// 將每一條信息添加到 $sql 數(shù)組中
array_push($sql, "(20121015194535193356, ".$details[0].", ".$details[1].")");
}
// 用 , 連接,轉(zhuǎn)換為 string
$sql = implode(",", $sql);
// 插入數(shù)據(jù)庫
mysql_query("INSERT INTO table_sales (dingid, detailsid, buynumber) VALUES ($sql)");
把數(shù)組轉(zhuǎn)成json或其他字符串在寫入數(shù)據(jù)庫,不轉(zhuǎn)換字符串無法寫入或自由Array,我是沒試過,反正我知道是無法寫入,我都是轉(zhuǎn)成json后在寫入。
?php
$array=array(
"data1"="data1",
"data2"=array(
"data22"="data22",
"data222"="data222"
),
"data3"="data3"
);
$encode=json_encode($array);?//數(shù)據(jù)庫寫入轉(zhuǎn)換
$addslashes=addslashes(json_encode($array));?//如果只用英文字符的話可以直接用上面,用中文或有帶斜杠/,PHP寫入數(shù)據(jù)庫的時(shí)候會(huì)去掉斜杠/,所以addslashes函數(shù)在轉(zhuǎn)換下寫入
$decode=json_decode($array,true);?//數(shù)據(jù)庫讀取轉(zhuǎn)換
?
可以按照?ly4885806?的方法?序列化成字符串插入數(shù)據(jù)庫,不過這個(gè)只能插入一個(gè)字段不循環(huán)
如果你的數(shù)據(jù)是需要插入多個(gè)行和字段的話只能循環(huán)了
$Array?=?Array?(?[0]?=?Array?(?[0]?=?張三?[1]?=?70?)?[1]?=?Array?(?[0]?=?李四?[1]?=?80?)?[2]?=?Array?(?[0]?=?王五?[1]?=?90?)
?
$in_value_arr?=?array();
foreach($Array?as?$key=$value){
foreach($value?as?$k=$v){
$in_value_arr[]="(**,**,**)";
}
$in_value?=?'('.implode('),(',?$in_value_arr).')';
$sql?=?"INSERT?INTO?tbl_name?(col1,col2)?VALUES{$in_value};";
}
?