ユーザーIDを持つ2つの配列があります
$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 )
問題に慣れる必要はないと思う$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 array_intersect ( array $array1 , array $array2 [, array $ ... ] )
$array1 = array("5","26","38","42");
$array2 = array("15","36","38","42");
echo array_intersect($array1, $array2);