array_diff_assoc() 函數(shù)用于比較兩個(gè)(或更多個(gè))數(shù)組的鍵名和鍵值 ,并返回差集。
目前創(chuàng)新互聯(lián)公司已為超過千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、綿陽服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、睢寧縣網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
array_diff() 函數(shù)返回兩個(gè)數(shù)組的差集數(shù)組。該數(shù)組包括了所有在被比較的數(shù)組中,但是不在任何其他參數(shù)數(shù)組中的鍵值。
php按條件篩選商品的功能,還是比較簡單的。
其實(shí)就是根據(jù)不同的條件組成SQL查詢條件,從數(shù)據(jù)庫里查出不同的商品出來。
舉個(gè)例子:
用戶可以按價(jià)格范圍、按品牌、按商品名稱這幾項(xiàng)來綜合查詢。
那么,在用戶選擇了上面這些查詢條件后(可能這3個(gè)條件都設(shè)置了,也可能只設(shè)置了其中2個(gè)),提交到服務(wù)器端,服務(wù)端程序收到用戶的查詢條件,開始組裝SQL查詢語句,最后執(zhí)行組裝好的SQL查詢語句,返回結(jié)果給用戶。
代碼舉例:
用戶提交的查詢:
price='0-1000'; //按價(jià)格范圍0-1000元查詢
brandid=20; //要求品牌必須是ID號為20的這個(gè)(假設(shè)這個(gè)ID號為20的品牌,名字叫”西部數(shù)據(jù)")
productname='綠盤'; //商品名稱只設(shè)置了2個(gè)字以做模糊查詢
用戶點(diǎn)了查詢按鈕后,根據(jù)程序的不同,可能是get方式也可能是post方式發(fā)送查詢請求,現(xiàn)假設(shè)為post方式。
然后在服務(wù)器端程序中,收到用戶的查詢請求:
$price=$_POST['price'];
$price_arr=explode('-',$price); //這里是把價(jià)格范圍按-號拆散成數(shù)組,方便在組裝SQL查詢語句時(shí)用。
$brandid=$_POST['brandid'];
$productname=$_POST['productname'];
當(dāng)然,上面的數(shù)據(jù)獲取后,還要進(jìn)行相應(yīng)的安全方面的檢查與處理,這里先略過。
接下來,開始組裝SQL查詢語句:
$sqlexp='';
//下面開始組根據(jù)用戶設(shè)置的查詢條件進(jìn)行SQL查詢條件的組裝
if(!empty($price)) {
$sqlexp.=' and (price='.$price_arr[0].' and price='.$price_arr[1];
}
if(!empty($brandid)) {
$sqlexp.=' and brandid='.$brandid;
}
if(!empty($productname)) {
$sqlexp.=" and instr(productname,'$productname')0";
}
//下面執(zhí)行SQL查詢
$result=mysql_query("select * from product where state=1 ".$sqlexp);
在上面的查詢完成后,把查詢結(jié)果返回給用戶,就完成了用戶按條件篩選商品的功能。
第一個(gè)方法:新建一個(gè)空的數(shù)組,再循環(huán)該數(shù)組,如果distance10000,就壓入新建的數(shù)組中。
第二個(gè)方法:使用array_filter()方法,
?php?
$array?=?array(
array('id'?=?1,?'distance'?=?131),
array('id'?=?2,?'distance'?=?13100),
array('id'?=?3,?'distance'?=?13231),
);?
function?filterDistance($arr)??
{??
return($arr['distance']??10000);??
}?????
$array?=?array_filter($array,?"filterDistance");
var_dump($array);
?
用file把文件以數(shù)組的形式取出來,遍歷數(shù)組元素,然后用strpos匹配,如果存在aa就unset這個(gè)數(shù)組元素,最后再將數(shù)組轉(zhuǎn)化成字符串,寫進(jìn)文件,代碼如下:
?
$file_arr = file("a.txt",FILE_IGNORE_NEW_LINES);
foreach($file_arr as $key = $value){
if(strpos($value,"aa") !== FALSE){
unset($file_arr[$key]);
}
}
$newfile = implode("\n",$file_arr);
file_put_contents("a.txt",$newfile);
?
?php
$a = array(
'BL001'=array('A14257','B17548'),
'CDF002'=array('A14257','C48751'),
'FGE453'=array('DF5533','GR6445','GH5544'),
'GEN001'=array('NT7532','DE9342','C48751'),
);
$b = array('A14257','E453T4','Y64344','FG4809','C48751','H4443R');
foreach($a as $k=$v){
$t = array_intersect ($v, $b);
if($t){
$c[$k] = $t;
}
}
print_r($c);
?
網(wǎng)站題目:php條件篩選數(shù)據(jù)代碼,php條件查詢數(shù)據(jù)庫
分享路徑:http://jinyejixie.com/article26/hsogcg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站建設(shè)、ChatGPT、網(wǎng)站制作、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)