将php foreach放入单变量逗号分隔带有空格的字符串

问题描述 投票:-1回答:1

将php foreach放入单变量逗号分隔的字符串中,带有空格和特殊字符。

$fruit = $this->db->query("SELECT * FROM tblFruitTrees") 

foreach($fruit as $fruits) {
 $result .= '{"value":"'.$fruits.'"}';
}

输出应该是:

$ result =  {"value":"+red apple"},{"value":"+yellow banana"},{"value":"+green mango"}
php codeigniter
1个回答
1
投票

我想你想要的是implode

$fruits = array("+red apple", "+yellow banana", "+green mango");
$result = '{"value":"' . implode('"}, {"value":"', $fruits) . '"}';
echo $result;

输出:

{"value":"+red apple"}, {"value":"+yellow banana"}, {"value":"+green mango"}

如果+实际上不在果实值中,只需将其添加到内爆:

$fruits = array("red apple", "yellow banana", "green mango");
$result = '{"value":"+' . implode('"}, {"value":"+', $fruits) . '"}';
echo $result;

输出:

{"value":"+red apple"}, {"value":"+yellow banana"}, {"value":"+green mango"}

这是使用json_encode的解决方案:

$fruits = array("+red apple", "+yellow banana", "+green mango");
$result = implode(',', array_map(function ($f) { return json_encode(array('value' => $f)); }, $fruits));
echo $result;

输出:

{"value":"+red apple"},{"value":"+yellow banana"},{"value":"+green mango"}
© www.soinside.com 2019 - 2024. All rights reserved.