Помещение php foreach в одну переменную, разделенную запятой, с пробелами - PullRequest
0 голосов
/ 17 сентября 2018

Помещение 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"}

1 Ответ

0 голосов
/ 17 сентября 2018

Я думаю, что вы хотите 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"}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...