A. php中如何過濾鍵值重復出現對(50分)
foreach($arr as $k=>$v){
if(isset($arr[$v]) && $arr[$v]==$k)
unset($arr[$v]);
}
print_r($arr);
B. php中帶空格的數組遍歷後如何再過濾空格
用 in查詢 效果會好點專
$_words=$result;
if(strrpos($_words,"")){
$_words=array_unique(explode("",$_words));
}
$words_str="'".implode("','",$_words)."'";
$sql="SELECT*FROM`屬ziaa`WHERE`zie`in({$words_str})";
C. php查找數組中符合的字元,刪除整個鍵
如果只是值的相等,可以用array_value_exists()函數進行確定,刪除指定鍵。
你這個是模糊匹配,就需要遍歷數組,然後使用str_pos進行查找,如果返回值為true,unset掉就行。
D. php去除數組中被另外包含的值
下面的代碼滿足你的要求,可以參考:
<?php
$arr=Array('勞動合同','無所謂版','合同','三克油');
print_r($arr);
$brr=array();
for($i=0;$i<count($arr);$i++){
$a=$arr[$i];
$add=true;
for($j=0;$j<count($arr);$j++)if($i!=$j){
$b=$arr[$j];
if(strpos($a,$b)!==false){
$add=false;
//echo"DEL$a($b) ";
break;
}
}
if($add)$brr[]=$a;
}
print_r($brr);
?>
運行結果權:
Array
(
[0]=>勞動合同
[1]=>無所謂
[2]=>合同
[3]=>三克油
)
Array
(
[0]=>無所謂
[1]=>合同
[2]=>三克油
)
E. 將php數組中的鍵名刪除,但是保留鍵值
<?php
$arr = array('key1'=>'value1','key2'=>'value2','key3'=>'value3');
$arr2 = array_values($arr);
print_r($arr2);
?>
F. PHP 二維數組根據其中某個鍵值判斷,將有此值的項只保留一個
<?php
$arr=array(
array('user_id'=>1,'brand_id'=>'aaa','brand_name'=>'1'),
array('user_id'=>1,'brand_id'=>'aaa','brand_name'=>'2'),
array('user_id'=>1,'brand_id'=>'aaa','brand_name'=>'3'),
array('user_id'=>2,'brand_id'=>'ddd','brand_name'=>'4'),
array('user_id'=>3,'brand_id'=>'ddd','brand_name'=>'5')
);
//print_r($arr);
$newarr=array();
foreach($arras$_arr){
if(!isset($newarr[$_arr['user_id']])){
$newarr[$_arr['user_id']]=$_arr;
}
}
print_r($newarr);
exit;
G. php用回調函數過濾數組中的單元
array_filter
(PHP 4 >= 4.0.6, PHP 5, PHP 7)
array_filter — 用回調函數過濾數組中的單元
1.說明
array_filter ( array $array [, callable $callback [, int $flag = 0 ]] ) : array
依次將 array 數組中的每個值傳遞到 callback 函數。如果 callback 函數返回 true,則 array 數組的當前值會被包含在返回的結果數組中。數組的鍵名保留不變。
2.參數
array
要循環的數組
callback
使用的回調函數
如果沒有提供 callback 函數, 將刪除 array 中所有等值為 false 的條目。更多信息見轉換為布爾值。
flag
決定callback接收的參數形式:
ARRAY_FILTER_USE_KEY - callback接受鍵名作為的唯一參數
ARRAY_FILTER_USE_BOTH - callback同時接受鍵名和鍵值
3.返回值
返回過濾後的數組。
更新日誌
版本 說明
5.6.0 添加可選的參數 flag,以及常量 ARRAY_FILTER_USE_KEY 和 ARRAY_FILTER_USE_BOTH。
範例
示例 #1 array_filter() 例子
1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
$array2 = array(6, 7, 8, 9, 10, 11, 12);
echo "Odd :\n";
print_r(array_filter($array1, "odd"));
echo "Even:\n";
print_r(array_filter($array2, "even"));
?>
H. php中過濾數組中的某個值
<?php
$bb=array('a');
$aa=array('a','b','c','d','e','f');
$cc=array_diff($aa,$bb);
print_r($cc);
?>
array_diff 返回來2個數組自的差集,數組元素多的放前面