可以使用以下概念:
$arr = array(
"14" => array(
"url" => "AllConsuming.net",
"da" => 48,
"pa" => 54.4,
"moz_rank" => 5.1,
"linksln" => 2123,
"equity" => 1318,
"alexa_rank" => 1725106,
"a_links" => 197,
"a_cnt" => "GB",
"a_cnt_rank" => 123484,
"sem_rush_domain" => "notfound",
"sr_rank" => 0,
"sr_kwords" => 0,
"sr_traffic" => 0,
"sr_costs" => 0,
"sr_ulinks" => 514,
"sr_hlinks" => 4154,
"sr_dlinks" => 12732,
"cf" => 34,
"tf" => 21,
"ebl" => 108777,
"ref_domains" => 1113,
),
"15" => array(
"url" => "TravelIntelligence.net",
"da" => 31.7,
"pa" => 33.3,
"moz_rank" => 2.9,
"linksln" => 1,
"equity" => 1,
"alexa_rank" => 4265239,
"a_links" => 98,
"a_cnt" => "N/A",
"a_cnt_rank" => "N/A",
"sem_rush_domain" => "notfound",
"sr_rank" => 0,
"sr_kwords" => 0,
"sr_traffic" => 0,
"sr_costs" => 0,
"sr_ulinks" => 1,
"sr_hlinks" => 3,
"sr_dlinks" => 3542,
"cf" => 22,
"tf" => 19,
"ebl" => 6368,
"ref_domains" => 531
)
);
$yourTableColumnArray = array("url", "cost", "categroy_1", "categroy_2", "categroy_3", "language", "f_n", "publishers", "da", "tf", "sr_traffic", "pa", "moz_rank", "linksln", "equity", "alexa_rank", "a_links", "a_cnt", "a_cnt_rank");
foreach($arr as $key => $value){
$id = $key;
$columnAndValue = array();
foreach($value as $k => $val){
if(in_array($val, $yourTableColumnArray)){
$columnAndValue[$k] = $val;
}
}
if(!empty($columnAndValue)){
//your query like below:
$query = "UPDATE yourTableName SET";
foreach($columnAndValue as $ky => $vl){
$query .= " ".$ky."=".$vl;
end($columnAndValue);
if(key($columnAndValue) != $ky){
$query .= ",";
}
}
$query .= " where out_id = $id";
echo $query."
"; //just to know, the actual query formed for the current array(for 14 or 15)
// now code here to execute your query with $query variable
}
$columnAndValue = array();
}Output
对于数组键= 14,查询将是:
UPDATE yourTableName SET sr_rank = 0,sr_kwords = 0,sr_traffic = 0,sr_costs = 0其中out_id = 14
对于数组键= 15,查询将是:
更新yourTableName SET sr_rank = 0,sr_kwords = 0,sr_traffic = 0,sr_costs = 0其中out_id = 15