php數組對比
A. php對比兩個數組,合並兩個數組為一個數組
$arrdata = array_merge_recursive($arr,$arr2);
var_mp($arrdata);
該函數與 array_merge() 函數的區別在於處理兩個或更多個數組元素有相同的鍵名時。array_merge_recursive() 不會進行鍵名覆蓋,而是將多個相同鍵名的值遞歸組成一個數組。
注釋:如果您僅僅向 array_merge_recursive() 函數輸入一個數組,結果與 array_merge() 相同,函數將返回帶有整數鍵名的新數組,其鍵名以 0 開始進行重新索引。
B. php 2個數組比較大小 去小的那個數組
這樣可以嗎:
$arr3 = count($arr1)<count($arr1) ? $arr1 : $arr2;
C. php 怎麼判斷兩個數組是否存在相等的
兩個數組是不能比較的,你只能循環兩個數組,對比他們相同的序列裡面的值是否相等,
你可以把所有序列的值都相等了的時候,作為這兩個數組就相等了
D. php數組之間進行對比
像這樣的數據,只能使用遍歷,並且是多層的,不然數據比較不出來.
E. php 對比2個數組之間的相同值
array_walk_recursive
對數組遞歸執行自定義函數
或者自己寫個遞歸函數。循環$video_list 用is_array 判斷 當前循環出來的$value是否是數組。
是數組在調用這個函數。值就是這個$value,
類似test($array,$live_mub)
array_walk_recursive($video_list,function(&$value,$key)use(&$live_mub){
foreach($live_mubas$k=>$v){
if($key=='id'){
if($value==$v){
//相同執行操作
}else{
//不相同執行操作
}
}
}
});
F. 求解:PHP兩個數組的鍵值對比
<?php
$result = array();
$a = array("21"=>"美術","22"=>"計算機"); //未寫全
$b = array("3", "21"); //未寫全
foreach($b as $value){
if(array_key_exists($value, $a)) array_push($result, $a[$value]);
}
var_mp($result);
//猜你想要得到以下結果array(1) { [0]=> string(4) "美術" }
G. php數組比對刪除重復
這個演算法比較好理解並且演算法復雜度和內存消耗可控
最終結果數組是下標從0開始重置的,並且2個數組的數字可以亂序排,通用性比較強
<?php
$arr1=array(1,2,3,3,4,5,6,7);
$arr2=array(1,2,3,3,3,4,4,4,5,6,6,7);
$c1=count($arr1);
$c2=count($arr2);
for($x=0;$x<$c1;$x++)
{
for($y=0;$y<$c2;$y++)
{
if($arr1[$x]==$arr2[$y])//每找到一個相等的,就同時把2個數組對應元素都置臨時值
{
$arr2[$y]=-999;
$arr1[$x]=-9999;
}
}
}
while(1)//去掉數組2的臨時值並重置下標
{
$key=array_search(-999,$arr2);
if($key!==false)
array_splice($arr2,$key,1);//不用unset,因為要重置數組下標
else
break;
}
print_r($arr2);
H. php如何比較兩個數組是否相等
<?php$a=array(1,2,5,6,7,8);$b=array(69,36,23,65,66,67,45);$c=array(3,4,7,8,10,13,14); function newarray($arr){$temp1=array();$temp2=array();$temp3=array(); for($i=1;$i<count($arr);$i++){ if($arr[$i] == $arr[$i-1] + 1) { $temp1[$i-1] = $arr[$i-1]; $temp1[$i] = $arr[$i]; }else { $temp2=$temp1; $temp1=array(); } $temp3= (count($temp2) > count($temp1)) ? $temp2 : $temp1 ; }; return $temp3;} var_mp(newarray($a));echo "";var_mp(newarray($b));echo "";var_mp(newarray($c));//不能正確返回$c,因為$c可能有3,4/7,8/13,14三種?>
I. php 數值與數組中的值進行比較獲取數組相對的KEY值:
這個可以取巧,先把這個數插進數組,然後數組排序,然後獲得這個數的下標,-1就是相對位置的值前面26的值,27本來下標就是源數組中的後一個
死一點的辦法就是for循環對比值了,關鍵比對if:
if(arr[i]<27 && arr[i+1]<27) continue;
if(arr[i]<27 && arr[i+1]>27) echo 相對位置在i,i+1之間 ;
具體自己寫啊
J. php 兩個數組做比較的問題
PHP array_diff() 函數
PHP Array 函數
實例
比較兩個數組的鍵值,並返回差集:
<?php
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("e"=>"red","f"=>"green","g"=>"blue");
$result=array_diff($a1,$a2);
print_r($result);
?>
注意返回值是差集數組
網路一下問題就會找到答案,或者收藏這個網址很有用:http://www.w3school.com.cn
希望幫到你