2013-05-07 41 views
6

我想找到通過ID數據,我有這樣的如何在數組結果集中查找數據?

$result= 

Array 
(

    [3] => 536371014 
    [38] => 1435902884 
    [53] => 100000224980743 
) 

用戶_id數組是

[3], [38], [53] 
在我的用戶多部未華

user_id name 
    3   usii 
    38   test 
    53   test 2 

我想找到的所有數據通過用戶ID,我怎麼能做到這一點與索引的結果集用戶ID,我嘗試了很多,但沒有得到成功,請幫助我做到這一點,感謝提前一噸。

+2

我不知道你在問什麼。 「查找所有數據」是什麼意思?如果它使用'WHERE user_id = 3'作爲sql查詢,並且在數組中使用'echo $ result [3]' – 2013-05-07 07:49:08

+0

並使用此ids'[3],[38],[53]'查找名稱在表中 – rynhe 2013-05-07 07:50:10

+0

'$ result [$ user_id]'不是一個選項? – BlitZ 2013-05-07 07:50:37

回答

6

使用的foreach這樣

foreach($result as $val) { 

    echo $val[$user_id]; 
} 
3

像這樣的東西應該工作(殘酷的僞代碼)

in_list = implode(", ", array_keys($result)); 
$all_users = mysql.query("select * from user_table where user_id in (" . in_list . ");"; 

array_keys應該給你剛纔使用的索引數組(3,38和53)
與「,」作爲膠水應該給你一個像這樣的字符串「3,38,53」適合於mysql IN condition

2
$user_ids = implode(",",array_keys($result)); 
$query = "SELECT * FROM usertable WHERE user_id IN (".$user_ids.")";