-2

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},

最後の行にコンマは必要ありません

4

6 に答える 6

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);
于 2012-09-26T06:36:33.323 に答える
1

これを使うだけ

$temp = array();
foreach ($bycountry as $country) 
{
    $temp[] = '{ label: "' . $country['origincountry'] . '", data: ' . country['countrytotal']. ' } ';
}
print implode(",", $temp);
于 2012-09-26T06:41:14.973 に答える
1

substrを使用できます

$str = '';  
foreach ($bycountry as $country) {
$str .= '{ label: "' . $country['origincountry'] . '", data: ' . $country['countrytotal'].     ' }, ';
}
echo $str = substr($str, 0, strlen($str)-1);

この助けを願っています!

于 2012-09-26T06:35:39.430 に答える
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']. ' } ';
    }
}

これがお役に立てば幸いです。

于 2012-09-26T06:44:20.393 に答える
0

このように使用してください

foreach ($bycountry as $country) {
$str .= '{ label: "' . $country['origincountry'] . '", data: ' . $country['countrytotal']. ' }, ';
}

$str = trim($str,",");
print $str;

これは最後に削除されます,

于 2012-09-26T06:33:50.537 に答える
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);
于 2012-09-26T06:38:04.117 に答える