[英]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.