2012-03-18 4 views
-3

Можно создать дубликат:
Generating a JavaScript array from a PHP arrayПреобразование PHP массив JAVASCRIPT массив

Я просто хочу знать, как создать массив JavaScript с помощью PHP и помощи, безусловно, оценили

У меня есть результат PHP для этой формы

Array 
(
    [0] => stdClass Object 
     (
      [id] => 11 
      [name] => MLB 
      [totalcount] => 4 
     ) 

    [1] => stdClass Object 
     (
      [id] => 35 
      [name] => American Idol 
      [totalcount] => 2 
     ) 

) 

и я хочу, чтобы преобразовать этот массив в массив JavaScript, как это

<script type="text/javascript"> 
    var myData = new Array(['MLB', 4], ['American Idol', 2]); 
</script> 

ответ

5

Во-первых, преобразовать входной массив в требуемом формате:

$new_data = array(); 
foreach($original_data as $ori_row) 
    $new_data[] = array($ori_row->name, $ori_row->totalcount); 

Теперь вы можете пользоваться преимуществами json_encode: http://php.net/manual/en/function.json-encode.php

$json = json_encode($new_data); 
echo <<<END 
    <script type="text/javascript"> 
    var myData = $json; 
    </script> 
END; 

Кстати, вы не должны писать new Array(...), просто напишите [...], как и ваши внутренние массивы.

Я думаю, что я ответил на ваш вопрос, см http://codepad.org/5guUWmHD

+0

Прочитайте вопрос внимательно - ОП хочет массив - ** не ** а (JSON) объект. – Lix

+2

Внимательно прочитайте документацию - json_encode также может создавать массивы. – enobrev

+0

True, исправлено, я надеюсь :) – biziclop

Смежные вопросы