我正在使用foreach语句将我的数据回显到jquery图表(flotchart)。表单必须为{"label", data}, {"label", data}, {"label", data}
但是我的foreach语句在每一行之后都添加了一个逗号,包括最后一行,我没有逗号,因为它破坏了脚本。
我目前正在使用
foreach ($bycountry as $country) {print
'{ label: "' . $country['origincountry'] . '", data: ' . $country['countrytotal']. ' }, ';
}
这给了我:{"label", data}, {"label", data}, {"label", data},
我在最后一行不需要逗号
答案 0 :(得分:4)
你试过json_encode
吗?
$country_to_json = array(
array('label'=>'Portugal', 'data'=>12),
array('label'=>'india', 'data'=>13)
);
echo json_encode($country_to_json);
您需要稍微重新组织一下数组,但这是一种更清晰的方法。
另一种方法是使用implode
,但无论如何你都需要重新组织你的数组:
$country_for_implode = array();
foreach($bycountry as $country){
$country_for_implode[] = "{ label: {$country['origincountry']}, data: {$country['countrytotal']}}";
}
echo implode(",", $country_for_implode);
答案 1 :(得分:1)
您可以使用substr
$str = '';
foreach ($bycountry as $country) {
$str .= '{ label: "' . $country['origincountry'] . '", data: ' . $country['countrytotal']. ' }, ';
}
echo $str = substr($str, 0, strlen($str)-1);
希望这有帮助!
答案 2 :(得分:1)
只使用这个
$temp = array();
foreach ($bycountry as $country)
{
$temp[] = '{ label: "' . $country['origincountry'] . '", data: ' . country['countrytotal']. ' } ';
}
print implode(",", $temp);
答案 3 :(得分:1)
$no = 1;
foreach ($bycountry as $country) {
if($no== 1)
{
print '{ label: "' . $country['origincountry'] . '", data: ' . $country['countrytotal']. ' } ';
$no ++;
}
else
{
print ',{ label: "' . $country['origincountry'] . '", data: ' . $country['countrytotal']. ' } ';
}
}
希望这会有所帮助。
答案 4 :(得分:0)
像这样使用
foreach ($bycountry as $country) {
$str .= '{ label: "' . $country['origincountry'] . '", data: ' . $country['countrytotal']. ' }, ';
}
$str = trim($str,",");
print $str;
这将删除上一个,
答案 5 :(得分:0)
使用你的数组你可以得到最后一个关键字:
// Extract the last array item and return it's key value
$last_key = key(array_slice($bycountry, -1, 1, TRUE));
$out = '';
foreach ($bycountry as $key => $country)
{
$out .= '{ label: "' . $country['origincountry'] . '", data: ' . $country['countrytotal']. ' }';
// If this is not the last key
if ($key !== $last_key)
{
// Add the trailing comma
$out .= ',';
}
}
print ($out);