2017-02-28 74 views
0

我有阵列的动态数量,我需要让他们多维数组结合数组多维数组

Array ([id] => 182 [name] => item1) 
Array ([id] => 185 [name] => item2) 
Array ([id] => 186 [name] => item3) 

这个

$all = Array (Array ([0] => Array ([id] => 182 [name] => item1) , 
       Array ([1] => Array ([id] => 185 [name] => item2) , 
       Array ([2] => Array ([id] => 186 [name] => item3) 
      ) 

我尝试这种代码,但它不工作

$all_ids = Array ([0] => 182 [1] => 185 [2] => 186); 
foreach($all_id as $id){ 
    // use code to return row 
    $row= 'select id , name from table where id ='.$id; // something like this which return row 
    $all= $all+ $row ; 
} 

任何帮助,请提前致谢

回答

1

虽然我完全不明白什么是要实现,你可以$所有声明为循环

$all = array(); 

外和内环路的阵列,而不是

$all= $all+ $row ; 

$all[] = $row; 
+0

非常感谢你的帮助 – Ouda

+0

我试过你的代码,它的工作完美 – Ouda

+0

没问题!如果你愿意,你可以接受答案。谢谢! – eeetee

0

它可能会更容易改变SQL查询带回你想要的所有记录:

$all_ids = Array(182, 185, 186); 
$sql = 'select id , name from table where id IN ('.implode(',',$all_ids).')'; 

然后调用数据库并获取结果。如果您使用的是myql,那么有一个mysqli调用来将所有结果作为关联数组提取:http://php.net/manual/en/mysqli-result.fetch-all.php

如果您需要弄清楚如何运行查询并建立数据库连接,那么您应该考虑例如:mysqli connection and query

+0

非常感谢您的帮助 – Ouda

+0

您的想法非常好,我尝试了它,它的工作完美 – Ouda