2013-05-07 40 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.")";