0
我有兩個數組,以下值:獲取從第二組,其中密鑰匹配
$arr1 = array("Key1"=>1, "Key2"=>2, "Key3"=>3);
我的第二個陣列如下:
$arr2 = array("Key2", "Key3");
我想獲得的是值,其中Key2和Key3匹配。我也想,所以我結束了以下這些值來作爲數組返回:
array(2,3)
感謝您的幫助。
我有兩個數組,以下值:獲取從第二組,其中密鑰匹配
$arr1 = array("Key1"=>1, "Key2"=>2, "Key3"=>3);
我的第二個陣列如下:
$arr2 = array("Key2", "Key3");
我想獲得的是值,其中Key2和Key3匹配。我也想,所以我結束了以下這些值來作爲數組返回:
array(2,3)
感謝您的幫助。
只是使用3×3陣列的功能,以實現這一點。
$arr1 = array("Key1"=>1, "Key2"=>2, "Key3"=>3);
$arr2 = array("Key2", "Key3");
$arr3 = array_values(array_intersect_key($arr1, array_flip($arr2)));
print_r($arr3);
輸出:
陣列([0] => 2 [1] => 3)
$arr1 = array("Key1"=>1, "Key2"=>2, "Key3"=>3);
$arr2 = array("Key2", "Key3");
$result = array();
foreach($arr1 as $key => $value) {
if(in_array($key, $arr2)) {
array_push($result, $arr1[$key]);
}
}
var_dump($result);
或在評論中提到:
$arr1 = array("Key1"=>1, "Key2"=>2, "Key3"=>3);
$arr2 = array("Key2", "Key3");
$result = array_intersect_key($arr1, array_flip($arr2));
var_dump($result);
參見:http://stackoverflow.com/q/ 11644267/3933332 +看看'array_values()'用數字鍵重新編排數組 – Rizier123
http://stackoverflow.com/questions/11644267/array-intersect-on-key-in-array – felipsmartins