我有两个foreach操作如下。
$sql = "select region_name from ".$GLOBALS['ecs']->table('region') . " where region_id in(".$order['province'].",". $order['city'].",".$order['district'].")";
$address = $GLOBALS['db']->getAll($sql);
foreach($address as $vo){
$region .= $vo['region_name'];
}
$order['1address'] = $region.$order['1address'];
return $order;
}
以下是输出数据的示例:
AlabamaColorado
我希望它如何
阿拉巴马州科罗拉多州
唯一不对的是我无法将阿拉巴马州和科罗拉多州与空白区分开。这可能是一个简单的操作,但如何?有什么想法吗?
非常感谢。
答案 0 :(得分:2)
你可以在没有预告的情况下尝试这个,
$region = explode(' ', array_column($address, 'region_name'));
$order['1address'] = $region . $order['1address'];
答案 1 :(得分:1)
试试这个:
if ($region == '') {
$region = $vo['region_name'];
} else {
$region .= ' ' . $vo['region_name'];
}
答案 2 :(得分:0)
您可以通过在$region
和$order['1address']
变量之间连接空格来实现此目的。
下面的代码段说明了如何实现这一目标:
$order['1address'] = $region . " " . $order['1address'];
答案 3 :(得分:0)
在这种情况下,我更喜欢使用数组然后使用implode:
// initialize the array to avoid NOTICES
$region = array();
foreach ( $address AS $vo ) {
// add each region name to a new element in the array
$region[] = $vo['region_name'];
}
// implode the regions array to a string separated by a space
$region = implode( ' ', $region );