我有一个循环用于向变量追加一些字符串。我需要一种最好的方法。目前我正在将所有内容推送到数组,然后用逗号将其内爆。有没有其他最佳方式做同样的事情?这是我的代码
$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的第一行
中答案 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);