PHP для Javascript Array (вид)

Здесь, в массиве, который у меня есть в javascript, это отлично работает!

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

Как я могу сгенерировать этот массив из php-скрипта? Я хочу использовать AJAX для получения результатов, возвращаемых php.

Благодаря!

EDIT Как я могу манипулировать этим php, возвращенным json, обратно в _rowData ?

Попробуйте использовать JSON. PHP-функция json_encode ()

EDIT: Пример кода (серверная сторона – 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.

Надеюсь, это поможет вам.

Пример json_encode () :

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

выходы

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