2012-08-07 55 views
1

我有兩個數組陣列中的數組搜索和返回鍵

1. $ ids;

Array 
(
    [0] => 2427975642 
    [1] => 2397521678 
) 

2 $ C

Array 
(
    [48] => 2397521678 
    [46] => 461 
    [45] => 451 
) 

問題: 搜索從$ IDS在$ C值與ID返回新的數組。例如返回48

+2

請重新表述您的問題。真的很難看到你在問什麼。 – 2012-08-07 08:27:56

+0

您是否想通過它們的值來合併/合併兩個數組?後者的鍵應該覆蓋前者? – feeela 2012-08-07 08:35:32

+0

合併消除,因爲生成的表是數據庫中的條目標識符以更新 – damian 2012-08-07 08:42:00

回答

1
$ids = array( 
    2427975642, 
    2397521678 
); 



$c = array(
    48 => 2397521678, 
    46 => 461, 
    45 => 451 
); 

$common = array_keys(array_intersect($c, $ids)); 

print_r($common); 
0
$ids = array( 
    2427975642, 
    2397521678 
); 



$c = array(
    48 => 2397521678, 
    46 => 461, 
    45 => 451 
); 

$finalArray = array(); 

foreach ($c as $key=>$val) 
{ 

if (array_search($val,$ids)) 
{ 

$finalArray[]=$key; 

} 

} 
+0

$ results = array(); foreach($ ids as $ val) foreach($ c as $ key => $ val2) if($ val == $ val2)array_push($ results,$ key); //或僅獲得第一個, //將if語句替換爲 // // if($ val == $ val2){ // $ result = $ key; // break 2; //} print_array($ results); – damian 2012-08-07 08:48:43

+0

@midian是什麼? – 2012-08-07 08:50:13

1
$ids= array 
    (
     [0] => 2427975642 
     [1] => 2397521678 
    ); 

    $c =array 
    (
     [48] => 2397521678 
     [46] => 461 
     [45] => 451 
    ); 

$res = array_intersect($ids,$c); 
$keys = array_keys($res); 
print_r($keys);