$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クエリを作成したいと思っていると思います。