2012-03-18 60 views
-3

可能重複:
Generating a JavaScript array from a PHP array轉換PHP數組JavaScript數組

我只是想知道如何使用PHP的幫助和幫助創建JavaScript數組肯定讚賞

我對此表格有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

仔細閱讀的問題 - 在OP想要一個數組 - ** **不是一個(JSON)對象。 – Lix 2012-03-18 12:20:17

+2

仔細閱讀文檔 - json_encode也可以創建數組。 – enobrev 2012-03-18 12:24:02

+0

真的,固定的,我希望:) – biziclop 2012-03-18 12:24:28