当从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>"
}
当前使用以下代码获取记录,但它返回未定义的偏移量.i 使用 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);
您的循环需要数组中的以下索引: $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;
}
现在,您可以看到数组使用的键/索引以及其中包含的值。
在创建数组时,您使用字母作为索引,但在循环中,您尝试使用数字索引。相反,您应该使用 foreach
来迭代此数组。