如何解析这个 PHP 生成的对象

How to parse this PHP generated object

本文关键字:对象 PHP 何解析      更新时间:2023-09-26

这里有一些PHP代码,它生成一个json(javascript)对象来响应Web服务重新提问。 我不确定如何迭代这个对象。 我看了很多例子,它们在jQuery中,并没有处理(像我一样)有我需要在我的选择对象中渲染的子对象的情况。

谁能告诉我如何使用这样的 javascript 对象来填充选择列表?

还有带有值索引的子对象

data = object(
    0 => object(
        'label' = > 'test1',
        'value' = > 1
    ),
    1 => object(
        'label' = > 'test1',
        'value' = >
        0 = > object(
            'label' = > 'sub testing1',
            'value' = > 1
        ),
        1 = > object(
            'label' = > 'sub testing2',
            'value' = > 1
        ),
    ),
    3 = > object(
        'label' = > 'test3',
        'value' = >
        0 = > object(
            'label' = > 'sub testing - test 3',
            'value' = > 33
        ),
    )
)

将 php 数据转换为 JSON 格式后,可以使用生成的对象生成下拉列表。在我看来,使用 PrototypeJS 执行此操作的最佳方法是将其转换为哈希。

$H(obj);

通过遍历键值对,可以轻松使用哈希,如下所示:

var selectOpts = new String();
$H(obj).each(function(pair){
    selectOpts += "<option value='"" + pair.key + "'">" + pair.value + "</option>";
});

以上假设键是实际值,而值是"标签"。对于数据集,您可能希望获取值对象并使用点表示法访问标签和值。

如果您使用的是 Script.aculo.us,那么您可以考虑使用模块 Builder 创建 HTML 选项:

selectOpt = Builder.node("option", { [attribs] });

在这种情况下,您需要数组推送"内置"选项节点并将其附加到选择元素中。