如何在php中使用逗号追加String

时间:2016-06-02 08:48:09

标签: php sql string loops

我有一个循环用于向变量追加一些字符串。我需要一种最好的方法。目前我正在将所有内容推送到数组,然后用逗号将其内爆。有没有其他最佳方式做同样的事情?这是我的代码

$getDataProduct = "SELECT pm.*,crm.id sub_id, crm.name sub_name FROM `cp_reference_master` crm 
                    LEFT JOIN product_master pm on crm.parent_id = pm.category
                    Where crm.mode = 'item_type_subcat' AND pm.id = ".$data['id'];
$logger->debug("Get Product From Product Master for ".$data['id']);
$logger->trace("Query: ".$getDataProduct);
$result = $db->func_query($getDataProduct);
//echo '<pre>'; print_r($result); echo '</pre>';
foreach($result as $details){
    $result[0]['sub_ids'] = $details['sub_id'];
    $result[0]['sub_names'] = $details['sub_name'];

}

在我的查询中,我得到3或4行。除了sub_id和sub_name之外,一切都是一样的。我需要附加此sub_id和sub_name并将其放在sub_id和sub_name的第一行

2 个答案:

答案 0 :(得分:0)

$getDataProduct = "SELECT pm.*,crm.id sub_id, crm.name sub_name FROM `cp_reference_master` crm 
                LEFT JOIN product_master pm on crm.parent_id = pm.category
                Where crm.mode = 'item_type_subcat' AND pm.id = ".$data['id'];
$logger->debug("Get Product From Product Master for ".$data['id']);
$logger->trace("Query: ".$getDataProduct);
$result = $db->func_query($getDataProduct);
$sub_ids = '';
$sub_names = '';
foreach($result as $details){
$sub_ids = $sub_ids.', '. $details['sub_id'];
$sub_names = $sub_names.', '. $details['sub_name'];
$result[0]['sub_ids'] = $details['sub_id'];
$result[0]['sub_names'] = $details['sub_name'];
}

现在$ sub_ids和$ sub_names中的每个东西都不需要用逗号破坏数组。

答案 1 :(得分:0)

不确定这是你问题的正确位置,但我会尝试一下。

foreach($result as $details){
    $result_ids .= "," . $details['sub_id'];
    $result_sub_names .= "," . $details['sub_name'];
 }

这将首先创建一个逗号,因此您需要使用以下内容清除:

$result_sub_names = substr($result_sub_names,1);