我在一个名为 $ids 的变量中有一个数组,该数组如下所示:
Array
(
[0] => Array
(
[id] => 1
)
[1] => Array
(
[id] => 7
)
) etc
我需要在 WHERE id IN ($ids); 中使用它 我该怎么做?谢谢。
您的问题陈述有点令人困惑。但是您似乎想知道您要做什么,除了您不知道如何编译 id 列表?如果是这种情况,试试这个:
$ids = array_map( function( $el ) {
return $el['id'];
}, $array );
如果您的 PHP 版本低于 5.3,则不能使用匿名函数。请改用下面的代码。
function comb_arr( $el ) {
return $el['id'];
}
$ids = array_map( 'comb_arr', $array );
试试这个...........
$data = Array
(
[0] => Array
(
[id] => 1
)
[1] => Array
(
[id] => 7
)
)
$ids = array();
foreach($data as $key => $d) {
array_push($ids,$d['$id']);
}
$sql = "select * from tablename where id IN(implode(',',$ids))";
如果您的意思是您需要使用数组构建查询,我认为您基本上想要构建查询字符串,因此您可以使用 for 循环。从一个基本字符串开始,比如
$query = "SELECT whatevercolumns FROM whatevertables WHERE id=";
//then loop through your array
for($j = 0; $j < sizeof($array); $j++)
{
$query .= array[$j]
//if it's not the last id you want to add, add an OR to your sql query
if($j < (sizeof($array) - 1))
{
$query .= " OR ";
}
}
不清楚你在问什么,你不能使用 sql 来查询你的 php 数组。我假设您想使用您的数组来填充 sql 查询。