首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我需要在PHP中创建复杂结构的wddx包

我需要在PHP中创建复杂结构的wddx包
EN

Stack Overflow用户
提问于 2015-10-08 15:16:17
回答 2查看 82关注 0票数 0

我正在尝试用PHP实现这个结构。

代码语言:javascript
复制
<wddxPacket version='1.0'>
<header/>
<data>
    <struct>
        <var name='container_1'>
            <struct>
                <var name='var1'><string>xxxxx</string></var>
                <var name='var2'><string>yyy</string></var>
            </struct>
        </var>
        <var name='container_2'>
            <struct>
                <var name='var3'><string>nnnnn</string></var>
                <var name='var4'><string>zzzzzz</string></var>
            </struct>
        </var>
    </struct>
</data>

我用PHP编写的代码是

代码语言:javascript
复制
$pq = wddx_packet_start("start");
wddx_add_vars($pq, "var1");
wddx_add_vars($pq, "var2");
etc..
$pqend = wddx_packet_end($pq);

我可以生成简单的结构,但不能生成包含结构的容器。我尝试生成一个包,并将包的值传递给其他包。无结果。

有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2015-10-08 15:46:28

您可以查看以下代码以供参考:

代码语言:javascript
复制
<?php
// example data
$arrBooks = array(array('id'=>1,'title'=>'XXXXXX'),
                  array('id'=>2,'title'=>'YYYYYY'),
                  array('id'=>3,'title'=>'ZZZZZZ')
                  );

// add header
$wddxst = wddx_packet_start('We build a start');

// add some variables
$rowCount   = count($arrBooks);
$fieldCount = 2;

wddx_add_vars($wddxst,'rowCount','fieldCount');

// add complex variable 
$i = 0;
for($i=0;$i<$rowCount;$i++){
  $varname = 'book'.$i;
  $$varname = $arrBooks[$i];

  wddx_add_vars($wddxst, $varname);
}

print wddx_packet_end($wddxst);

?>
票数 1
EN

Stack Overflow用户

发布于 2015-10-08 15:49:41

将容器创建为关联数组,如下所示:

代码语言:javascript
复制
$container_1 = [
    'var1' => "xxxxx",
    'var2' => "yyy"
];

$container_2 = [
    'var3' => "nnnnn",
    'var4' => "zzzzzz"
];

echo wddx_serialize_vars("container_1", "container_2");

输出(格式化):

代码语言:javascript
复制
<wddxPacket version='1.0'>
<header/>
<data>
    <struct>
        <var name='container_1'>
            <struct>
                <var name='var1'><string>xxxxx</string></var>
                <var name='var2'><string>yyy</string></var>
            </struct>
        </var>
        <var name='container_2'>
            <struct>
                <var name='var3'><string>nnnnn</string></var>
                <var name='var4'><string>zzzzzz</string></var>
            </struct>
        </var>
    </struct>
</data>
</wddxPacket>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33009069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档