得到共同的價值觀,我有兩個陣列,一些用戶ID如何從兩個不同的陣列在PHP
$array1 = array("5","26","38","42");
$array2 = array("15","36","38","42");
我需要的是,我需要從數組中共同的價值觀是什麼如下
$array3 = array(0=>"38", 1=>"42");
我試過array_intersect()
。我想獲得一個方法,這需要最少的執行時間。請幫助我的朋友。
得到共同的價值觀,我有兩個陣列,一些用戶ID如何從兩個不同的陣列在PHP
$array1 = array("5","26","38","42");
$array2 = array("15","36","38","42");
我需要的是,我需要從數組中共同的價值觀是什麼如下
$array3 = array(0=>"38", 1=>"42");
我試過array_intersect()
。我想獲得一個方法,這需要最少的執行時間。請幫助我的朋友。
原生PHP函數比嘗試構建自己的算法要快。
$result = array_intersect($array1, $array2);
使用這一項,雖然這也許很長的方法:
$array1 = array("5","26","38","42");
$array2 = array("15","36","38","42");
$final_array = array();
foreach($array1 as $key=>$val){
if(in_array($val,$array2)){
$final_array[] = $val;
}
}
print_r($final_array);
結果:陣列([0] => 38 [1] => 42)
你能提出一個原因,你的答案是更好的選擇array_intersect ... – Sir
我想你不「T需要使用$key=>$value
您的問題,所以檢查這個答案:
<?php
$array1 = array("5", "26", "38", "42");
$array2 = array("15", "36", "38", "42");
foreach ($array1 as $value) {
if (in_array($value, $array2)) {
$array3[] = $value;
}
}
print_r($array3);
?>
array_intersect()的作品就好了。
陣列array_intersect(數組$數組1,數組$數組2 [,數組$ ...] )
$array1 = array("5","26","38","42");
$array2 = array("15","36","38","42");
echo array_intersect($array1, $array2);
'array_intersect()'仍然是最好的選擇。 –
http://php.net/manual/en/function.array-intersect.php –
'array_intersect'有什麼問題?它不可能太慢? – deceze