如何从php json编码生成这个javascript对象

时间:2015-01-19 05:59:05

标签: javascript php json

你好我想弄清楚我以前如何从php中的数据库中提取信息,json_encoding它是一个JavaScript对象,它包含几个本身有子对象和数组的JavaScript数组。 下面是我需要的JavaScript。我一直在玩嵌入数组到php对象,但似乎无法正确使用它。

self.navigation = [
    {
        menutext:"Home",
        url:"/"
    },
    {
        menutext:"About",
        url: "#/about",
        submenu:[
        {
            menutext:"Pricing",
        url: "/pricing"
        }
        ]
    }
    ];

1 个答案:

答案 0 :(得分:1)

<script type="text/javascript">
 var jsObject = <?php echo json_encode($phparray); ?>;
</script>

我认为,如果你需要一个特定方式的对象,它就是你如何格式化php数组本身。

要在对象中获取数组,请使用对象键并将其设置为如下所示的数组:

$phpArray = array(
        'magic' => array('elmo')
);

json_encoded数组将在“魔术”对象内。为了将父项作为一个包含内部对象的数组,我只需在变量设置本身中捏造它就像这样:

<script type="text/javascript">
 var jsObject = [<?php echo json_encode($phparray); ?>];
</script>

要将子菜单放入数组,您尝试了以下操作:

$phpArray = array(
'menutext' => 'About',
'url' => '#/about',
'submenu' => array(
    array(
    'menutext' => 'Pricing',
    'url' => '/pricing')
)
);
我知道,有点不直观。实际上,为了得到你想要的而不是捏造它将是:

$phpArray = array(
array(
'menutext' => 'Home'
),
array(
'menutext' => 'About',
'url' => '#/about',
'submenu' => array(
    array('menutext' => 'Pricing',
    'url'=> '/pricing')
)
)
);