2009-12-28 37 views
1

在這裏在一個數組中我已經在JavaScript中,這個工程太棒了!PHP到Javascript數組(種)

_rowData: [ 
    { name: "Most Recent", view: "recentView" }, 
    { name: "Most Popular", view: "popularView" }, 
    { name: "Staff Picks", view: "staffView" } 
], 

我怎麼能從一個PHP腳本生成這個數組?我想用AJAX來獲取php返回的結果。

謝謝!

編輯 我如何處理這個PHP返回的JSON,回_rowData

回答

9

嘗試使用JSON。 PHP函數json_encode()

編輯: 代碼示例(服務器端 - PHP):

// data handling 
    $arrayToSend = array(array('name'=>'Most Recent', 'view'=>'recentView'), 
         array('name'=>'Most Popular', 'view'=>'popularView'), 
         array('name'=>'Staff Picks', 'view'=>'staffView')); 

    echo json_encode($arrayToSend); 

客戶端(JavaScript)。注:YUI是用來顯示客戶端的處理:

var callback = {success: function(req) { 
          selectItems(req.responseText); 
         } 
       }; 
YAHOO.util.Connect.asyncRequest('GET',url + '?param=1',callback); 

function selectItems(resp) { 

    var result = eval('(' + resp + ')'); 

    for (var i=0; i < result.length; i++) { 
    // Do whatever you want with array result :) 
    } 
} 

評論:1)在PHP腳本,你必須做出響應,其輸出的陣列,先前編碼爲JSON格式。 2)除YUI外,您還可以使用任何適當的JavaScript庫生成AJAX請求(即JQuery,Prototype)。在我的情況下,我使用函數eval()從JSON響應中創建數組。

希望它能幫助你。

+0

,你可以在一些示例代碼添加,即時通訊有點糊塗:( – tarnfeld 2009-12-28 11:12:11

3

json_encode()例如:

<?php 
$data = array('name' => 'Imran', 'age' => 23); 
echo json_encode($data); 
?> 

輸出

{ 'name': 'Imran', 'age': 23 }