1

$ids という変数に配列があります。配列は次のようになります。

Array
(
    [0] => Array
        (
            [id] => 1
        )

    [1] => Array
        (
            [id] => 7
        )

) etc

WHERE id IN ($ids); で使用する必要があります。どうすればいいですか?ありがとう。

4

3 に答える 3

2

あなたの問題文は少し混乱しています。しかし、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 );
于 2013-02-04T18:55:31.400 に答える
1

これを試して...........

$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))";
于 2013-02-04T19:01:55.610 に答える
0

配列を使用してクエリを作成する必要がある場合は、基本的にクエリ文字列を作成したいので、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クエリを作成したいと思っていると思います。

于 2013-02-04T19:00:22.860 に答える