0

当从 xmlrpc 客户端调用并希望将此响应发送到客户端时,我有以下数组结果从表返回。

array(17) {
      ["A"]=>
      int(1)
      ["B"]=>
      int(0)
      ["pnl"]=>
      int(1)
      ["C"]=>
      int(1)
      
      ["buttons"]=>
      array(5) {
        [1]=>
        string(9) "ABC"
        [2]=>
        string(5) "DEF"
        [3]=>
        string(5) "G"
        [4]=>
        string(7) "H"
        [5]=>
        string(9) "I"
      }
      ["List"]=>
      string(580) "<th title="S">Ticker</th><th title="Position - Shares Held in Portfolio">Pos</th><th title="Average Cost">Cost</th><th title="Current Market Price">Price</th>"
    }

目前使用以下代码来获取记录,但它返回未定义的偏移量。我使用包含所有获取数据的 var_dump 函数得到了上述结果。如何更改我的循环以在适当的行中获得结果?

var_dump($model) ;

        for ($i = 0; $i < count($model); ++$i) {
            $xml_rpc_rows[$i] = array($model[$i], 'struct');
        }
       
    }
   $response = array(
        $xml_rpc_rows,
        'struct');
    return $this->xmlrpc->send_response($response);
4

2 回答 2

2

您的循环需要数组中的以下索引:$xml_rpc_rows[$i]它将转换为$xml_rpc_rows[0],因此索引 == 0。但是您的数组只有索引(键)为:$xml_rpc_rows['A']

该循环也不适用于按钮数组,因为该数组的第一个索引是 1。所以您的循环需要$i=1.

foreach 循环将为您提供更多信息并使其更清晰。

<?php
foreach ($model as $key => $val) {
  print $key . '<br />';
  print $val;
}

现在您可以看到数组使用的键/索引以及其中包含的值。

于 2013-09-13T08:33:59.820 回答
1

在创建数组时,您使用字母作为索引,但在循环中您尝试使用数字索引。取而代之的是,您应该使用它foreach来遍历此数组。

于 2013-09-13T08:24:56.800 回答