簡體   English   中英

逗號分隔列表到一個對象數組,其值為php

[英]Comma separated list to an array of objects with values in php

我基本上只是試圖從中得到:

$value="20, 40, 40" 
$color="blue, green, orange"

對此:

var data = [ { value: 20, color:"blue" }, { value : 40, color : "green" }, { value : 40, color : "orange" }]

所以我需要提取值和顏色添加把它們放在這個對象數組中。 我知道如果只需要設置值就可以做到這一點,而不是使用explode和foreach設置顏色,但我不知道如何做這個需要兩個值。

任何想法都非常感謝。

謝謝,

大衛

explode兩個數組,使用索引一次迭代兩個,使用給定索引處的兩個數組中的值來創建object / tuple / whatever,並在將它們存儲在data

做這個

$value="20, 40, 40"; 
$color="blue, green, orange";


$explVal = explode(",", $value);
$explCol = explode(",", $color);

$arr = array();

for ($i=0; $i<count($explVal); $i++)
{
    $arr[$i]['value'] = $explVal[$i];
    $arr[$i]['color'] = $explCol[$i];
}

然后做

$result =     json_encode($arr);

那么每個值中是否總會有相同數量的值?

$value="20, 40, 40";
$color="blue, green, orange";

$values = explode(", ",$value);
$colors = explode(", ",$color);

$output = 'var data = [ ';
for($i = 0; $i < count($values) &&  $i < count($colors); $i++){
  $output .= '{ value: '.$values[$i].', color:"'.$colors[$i].'" }, ';
}
$output = substr($output,0,-2);
$output .= ']';

echo $output;

結果是:

var data = [ { value: 20, color:"blue" }, { value: 40, color:"green" }, { value: 40, color:"orange" }]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM