簡體   English   中英

將JSON數組合並為單個值

[英]Combine JSON array into single value

我試圖連接幾個json鍵值,以便我可以返回所有數據的單個值。 例如,在我的代碼中,我想將address1,address2,address3組合到Address中。 這可能嗎。 我嘗試了各種使用。=的方法,但似乎沒有任何工作。 任何抬頭都會感激不盡。 謝謝

$query = "SELECT * FROM company_com";
$from = 0; 
$to = 30;
$query .= " LIMIT ".$from.",".$to;

$result = mysql_query($query) or die("SQL Error 1: " . mysql_error());
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    $customers[] = array(
        'Address1' => $row['address1_com'],
        'Address2' => $row['address2_com'],
        'Address3' => $row['address3_com']
      );
}

echo json_encode($customers);

你可以很好地重寫這樣的..

$customers = array(); $i=0; 
$result = mysql_query($query) or die("SQL Error 1: " . mysql_error());
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    $customers[$i]['Address1'] = $row['address1_com'];
    $customers[$i]['Address2'] = $row['address2_com'];
    $customers[$i]['Address3'] = $row['address3_com'];
    $i++;
}
echo json_encode($customers);

完成的更改:

  • $customers數組聲明移動了while
  • 標志$i=0; 被設定在以外while
  • $customers數組是二維的,因為您可以看到$i作為鍵傳遞。
  • 最后, $i遞增..

EDIT :

<?php
$customers = array(); $i=0;
$result = mysql_query($query) or die("SQL Error 1: " . mysql_error());
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    $customers[$i]['Address'] = $row['address1_com']." ".$row['address2_com']." ".$row['address3_com'];
    $i++;
}
echo json_encode($customers);

我不太明白你的問題。

確保列名正確無誤。 address1_com, address2_com, etc.

使用print_r($row);測試代碼print_r($row); 在每次迭代。 print_r顯示數組的內容。

另外,我建議你做的是將每個地址組合成一個數組。 例如...

'Address' => array(
    $row['address1_com'],
    $row['address2_com'],
    $row['address3_com']
)

暫無
暫無

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

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