Php 在foreach元素中添加空间
我有两个foreach操作,如下所示Php 在foreach元素中添加空间,php,Php,我有两个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($addr
$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;
}
以下是输出数据的示例:
阿拉巴马州科罗拉多州
我希望它是怎样的
阿拉巴马州科罗拉多州
唯一的错误是我不能用空白区分开阿拉巴马州和科罗拉多州。这可能是一个简单的操作,但如何操作呢?有什么想法吗
非常感谢。试试这个:
if ($region == '') {
$region = $vo['region_name'];
} else {
$region .= ' ' . $vo['region_name'];
}
只需在
$region
和$order['1address']
变量之间串联一个空格即可
下面的代码片段说明了如何实现这一点:
$order['1address'] = $region . " " . $order['1address'];
你可以不用费吹灰之力就试试这个
$region = explode(' ', array_column($address, 'region_name'));
$order['1address'] = $region . $order['1address'];
在这种情况下,我更喜欢使用数组,然后: $region.=''.$vo['region_name'];
// 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 );