PHP - 删除最后一个字符,而

问题描述:

我知道很多函数来删除在PHP中的字符。但我很困惑删除此: 我想删除 “” 从PHP - 删除最后一个字符,而

<?php 
include '../config/settings.php'; 
$query = "SELECT keyword,count(*) AS jumlah 
FROM search GROUP BY keyword ASC"; 
$result = mysql_query($query); 
while($row = mysql_fetch_array($result)) 
{ 
$data= "['$row[keyword]', $row[jumlah]],<br>"; 
echo $data;} 
?> 

会给结果:

['Smartfren', 1], 
['Telkomsel', 1], 

我想要的输出,如:

['Smartfren', 1], 
['Telkomsel', 1] 

如何去做?

非常感谢您的回复。

UPDATE

基于@orangpill回答说,我有印像数据:

['ABC', 6597], 
['XYZ', 4479], 
['PQR', 2075], 
['Others', 450] 

我想打一个图表,说JS图表的代码必须是这样的:

data: [ 
       ['Firefox', 45.0], 
       ['IE',  26.8], 
       { 
        name: 'Chrome', 
        y: 12.8, 
        sliced: true, 
        selected: true 
       }, 
       ['Safari', 8.5], 
       ['Opera',  6.2], 
       ['Others', 0.7] 
      ] 

基于@orangepill现在我的代码:

<?php 
    include '../config/settings.php'; 
    $query = "SELECT keyword,count(*) AS jumlah 
    FROM search GROUP BY keyword ASC"; 
    $result = mysql_query($query); 
    $data = array(); 
    while($row = mysql_fetch_array($result)) 
{ 
    $data[] = "['$row[keyword]', $row[jumlah]]"; 
} 

echo implode(",<br/>", $data); 
    ?> 
    <script type="text/javascript"> 
     $(function() { 
      $('#container').highcharts({ 
       chart: { 
        plotBackgroundColor: null, 
        plotBorderWidth: null, 
        plotShadow: false 
       }, 
       title: { 
        text: 'Presentase Sentimen Positif' 
       }, 
       tooltip: { 
        pointFormat: '{series.name}: <b>{point.percentage}%</b>', 
        percentageDecimals: 1 
       }, 
       plotOptions: { 
        pie: { 
         allowPointSelect: true, 
         cursor: 'pointer', 
         dataLabels: { 
          enabled: true, 
          color: '#000000', 
          connectorColor: '#000000', 
          formatter: function() { 
           return '<b>'+ this.point.name +'</b>: '+ Math.round(this.percentage) +' %'; 
          } 
         } 
        } 
       }, 
       series: [{ 
        type: 'pie', 
        name: 'Nilai', 
        data: [ 


    <?php  while($row = mysql_fetch_array($result)) 
    { 
     $data[] = "['$row[keyword]', $row[jumlah]]"; 
    } 

    echo implode(",<br/>", $data); ?> 
        ] 
       }] 
      }); 
     }); 
    </script> 

它可能使你的感觉通过构建一个数组,爆它,当你想输出

<?php 
include '../config/settings.php'; 
$query = "SELECT keyword,count(*) AS jumlah 
FROM search GROUP BY keyword ASC"; 
$result = mysql_query($query); 
$data = array(); 
while($row = mysql_fetch_array($result)) 
{ 
    $data[] = "['$row[keyword]', $row[jumlah]]"; 
} 

echo implode(",<br/>", $data); 
?> 

如果格式化该数据的消费由JavaScript一个更好的办法是使用做到这一点json_encode。

<?php 
include '../config/settings.php'; 
$query = "SELECT keyword,count(*) AS jumlah 
FROM search GROUP BY keyword ASC"; 
$result = mysql_query($query); 
$data = array(); 
while($row = mysql_fetch_array($result)) 
{ 
    $data[] = array($row[keyword], (int)$row[jumlah]); 
} 

echo "var data = ".json_encode($data).";"; 
?> 
+0

也...它看起来像你正在试图建立json ....如果是这种情况,看看json_encode – Orangepill

+0

感谢@orangepill – user2597016

+0

@ user2597016更新回答与json编码使用示例 – Orangepill

RTRIM():

$data = rtrim($data, ','); 

,或者在你的特定示例中,SUBSTR:

$data = substr($data, 0, -5); 

删除 “
” 的可能。

+0

运行它。 –

+0

Orangepill的答案比我的效率高得多。 –

+0

不要认为rtrim在第二个参数 – Orangepill

您也可以使用substr()功能:你的循环后

$data = ""; 
while($row = mysql_fetch_array($result)) { 
    $data .= "['$row[keyword]', $row[jumlah]],<br>"; 
} 
$data = substr($data, 0, -5); 
echo $data;