【问题标题】:how to get values of array out如何获取数组的值
【发布时间】:2010-10-07 18:32:08
【问题描述】:

我有这个数组

$pv->orderRecordsArray = array();


foreach($order->records as $i=>$orderRecord){

$pv->orderRecordsArray[] = $orderRecord->orderRecordID;  
        }

// print_r($pv->orderRecordsArray) for example
// shows Array ( [0] => 46839 [1] => 46840 [2] => 46841 )

我需要在下面的 sql 语句中使用上面的数组值。

$sql = "
    SELECT 
    *               
         FROM 
    table1               
    WHERE 
    orderRecordID IN (46741, 46742) 
         ";

所以在 IN 前面我想要 $pv->orderRecordsArray 结果。

谢谢

【问题讨论】:

    标签: php sql arrays


    【解决方案1】:

    你可以使用implode来生成这样一个列表:

    $sql = "SELECT *
            FROM table1
            WHERE orderRecordID IN (" . implode(', ', $pv->orderRecordsArray) . ")";
    

    但您也应该考虑使用subqueryJoin of your tables

    【讨论】:

    • 别忘了卫生! (可能是array_map。)
    • @strager:我认为这些值也来自数据库查询。
    【解决方案2】:
    $sql = 'SELECT *
            FROM table1               
            WHERE orderRecordID IN ('.implode(',',$pv->orderRecordsArray).')';
    

    【讨论】:

    • 别忘了卫生! (可能是array_map。)
    • 这取决于他如何启动这个查询^^
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-04
    相关资源
    最近更新 更多