php數組查詢
『壹』 php怎麼搜索數組的鍵並查找到對應的值
array_search()函數在一個數組中搜索一個指定的值,如果找到則返回相應的鍵,否則返回FALSE1.搜索關聯數組鍵如果在一個數組中找到一個指定的鍵,函數array_key_exists()返回TRUE,否則返回FALSE。其形式如下:boolean array_key_exists(mixed key, array array)下面的例子將在數組鍵中搜索Ohio,如果找到,將輸出這個州加入育關信息:$state["Delaware"]="December 7,1787";$state["Pennsylvania"]="December 12, 1787";$state["Ohio"]="March l,1803";86 第5章數 組if (array_key_exists("Ohio", $state》printf("Ohio joined the Union on %s", $state["Ohio"]);結果如下:2.搜索關聯數組值array_search()函數在一個數組中搜索一個指定的值,如果找到則返回相應的鍵,否則返回FALSE。其形式如下:下面的例子在$state中搜索一個特定的日期(December7),如果找到,則返回相應州的有關信息:$state["Ohio"] = "March l"; .$statef"Delaware"l = "December 7";$state["Pennsylvania"] = "December 12u;$founded = array_search("December 7", $state),i+ ($founded) printf("%s was founded on %s.", $founded, $state[$founded]);輸出如下:Delaware was十ounded on December 7.5.4.2獲取數組鍵array_keys()函數返回一個數組,其中包含所搜索數組中找到的所有鍵。其形式知下:array array_keys(array array【J mixed search_value])如果包含可選參數search value,則只會返回與該值匹配的鍵。下面的例子將輸出$state數組中找到的所有鍵值:$state["Delaware"] = "December 7, 1787";$state["Pennsylvania"] = "December 12, i787";$state["New Jersey"] = "December 18, 1787";$keys = array_keys($state);print_r($keys);輸出如下:5.4.3獲取數組值array_values()函數返回一個數組中的所有值,並自動為返回的數組提供數值索引。其形式如下:array array_values(array array)5.5遍歷數組 87下面的例子將獲取$population中找到的各州人口數:$population=array("Ohio"=>"11,421,267", "Iowa"=>"2,936,760");print_r(array_values($population》;這個例子的輸出如下:5.5遍歷數組通常需要遍歷數組並獲得各個鍵或值(或者同時獲得鍵和值),所以毫不奇怪,PHP為此提供了一些函數來滿足需求。許多函數能完成兩項任務,不僅能獲取當前指針位置的鍵或值,還能將指針移向下一個適當的位置。本節將介紹這些函數。5.5.1 獲取當前數組鍵key()函數返回input_array中當前指針所在位置的鍵。其形式如下:mixed key(array array)下面的例子通過迭代處理數組並移動指針來輸出$capitals數組的鍵:$capitals=array("Ohio"=>"Columbus", "Iowa"=>"Des Moines");echo "<p>Can you name the capitals of these states?</p>";while($key=key($capitals》{printf("%s <br,>「,$key);next($capitals);,將返回以下結果:Ohio
『貳』 php 數組查詢
<?php
$a=array ( [0] => array ( [coupon_price] => 91.80 [coupon_rate] => 8500.00 [num_iid] => 17656720315 [title] => 年中大促 限時99元包郵 2012夏裝新款縷空拼色百褶收腰雪紡連衣裙 ) [1] => array ( [coupon_price] => 99.01 [coupon_rate] => 7123.00 [num_iid] => 15233729437 [title] => 年中大促 限時99元包郵 2012夏裝新款縷空拼色百褶收腰雪紡連衣裙 ) )
function getPrice($a,$id){
$price=0;
foreach($a as $val){
if($val['num_iid']==$id){
$price=$val['coupon_price'];
}
}
return $price;
}
echo getPrice($a,15233729437);
?>
『叄』 php中通過數組查詢mysql中的數據
你可以用or來查詢
<?php
$arr = array('我', '是', '奇葩', '戰斗機');
$where = '';
if(is_array($arr)){
foreach($arr as $val){
$where .=" or TITLE like '%$val%' ";
}
$where =rtrim($where, 'or'); //去掉右側的or
}
?>
『肆』 PHP數組中,如何查詢所有等於指定值得元素下標
array array_flip ( array trans)
將trans中的所有元素變為下標,對應的原先的key(下標)變為值
適用於關聯數組(索引數組沒測試過)
比如
$a = array(
'name'=>'ansuir',
'pet'=>'cat'
);
經過轉換後得到的新數組
$b = array_flip($a);
/*
$b=array(
'ansuir'=>'name',
'cat'=>'pet'
);
*/
這樣,就可以通過$b['ansuir'] 得到 'name'了,也就是原先在$a 中的對應下標
這個函數多用於去重數組值,兩次翻轉之後可以將重復的數組元素去除
『伍』 PHP如何檢查一個數組內是否存在指定元素
PHP 中的in_array() 函數可以實現
in_array() 函數在數組中搜索給定的值。
語法
in_array(value,array,type)
value 必需。規定要在數組搜索的值。
array 必需。規定要搜索的數組。
type 可選。如果設置該參數為 true,則檢查搜索的數據與數組的值的類型是否相同。
如果給定的值 value 存在於數組 array 中則返回 true。如果第三個參數設置為 true,函數只有在元素存在於數組中且數據類型與給定值相同時才返回 true。
如果沒有在數組中找到參數,函數返回 false。
注釋:如果 value 參數是字元串,且 type 參數設置為 true,則搜索區分大小寫。
例如:
<?php
$people = array("Peter", "Joe", "Glenn", "Cleveland");
if (in_array("Glenn",$people))
{
echo "Match found";
}
else
{
echo "Match not found";
}
?>
輸出:
Match found
『陸』 php 通過數組查詢MYSQL資料庫
你已經知道你 A = 今天 B = 是 C = 晴天
那麼你先判斷你數組元素
foreach($arras$val){
if($val==A){
$sql=mysql_query(select.....);
}elseif($val==B){
$sql=mysql_query(select.....);
}
}elseif($val==C){
$sql=mysql_query(select.....);
}
}
『柒』 php數組如何按條件查詢
演算法如novice_pegasus的,但是完整一些該是:
foreach($array as $each){
if($each<10){//小於10的歸集一個數組
$newarray[0][] = $each;
}elseif($each>=10 && $each<20){//10到20之間的歸集一個數組
$newarray[1][] = $each;
}
else//大於20的歸集一個數組
$newarray[2][] = $each;
}
print_r($newarray);
『捌』 php通過數組查詢資料庫
把不要的數據通過sql語句過濾掉,然後分頁輸出。如果你全查出來,裝到數組,然後判斷,再輸出。太麻煩,效率又不高,不建議這樣做。
『玖』 PHP數組查詢
你這個數組是默認的數字索引模式,索引是從0開始計算的,你的問題可以使用array_search這個函數來查找對應的值是不是存在,如果存在返回所在索引,不存在返回false,例子:
<?php
$tian=array('','甲','乙','丙','丁','戊','己','庚','辛','壬','癸');
$key=array_search('辛',$tian);
if($key!==false)
echo'辛這個值在數組$tian中的索引是'.$key;
else
echo'辛這個值在數組$tian中不存在';
?>