PHP返回数组值
真的需要以下方面的帮助 因此,我的脚本在远程服务器上通过以下方式调用API:PHP返回数组值,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,真的需要以下方面的帮助 因此,我的脚本在远程服务器上通过以下方式调用API: try { $api = new ApiClient(); $api->call('GetNameservers', $postfields); return array( 'success' => true, 'ns1' => $api->getFromResponse('nameserver1'), 'ns2'
try {
$api = new ApiClient();
$api->call('GetNameservers', $postfields);
return array(
'success' => true,
'ns1' => $api->getFromResponse('nameserver1'),
'ns2' => $api->getFromResponse('nameserver2'),
'ns3' => $api->getFromResponse('nameserver3'),
'ns4' => $api->getFromResponse('nameserver4'),
'ns5' => $api->getFromResponse('nameserver5'),
);
}
上述API调用正确地返回必须的内容:
Array
(
[result] => 1000
[resData] => Array
(
[domain] => somecooldomain.com
[status] => Active
[autorenew] => 0
[contactid] => 822
[nameserver1] => ns1.nameserver1.com
[nameserver2] => ns2.nameserver2.com
[nameserver3] => ns3.nameserver3.com
[nameserver4] => ns4.nameserver4.com
[nameserver5] =>
[registrationdate] => 2018-06-29
[expirydate] => 2020-11-03
)
)
我的问题是:
return array(
'success' => true,
这项工作:
'ns1' => $api->getFromResponse('result'),
但它不是我所需要的,因为数组是嵌套的。我在这里尝试了很多东西:
'ns1' => $api->getFromResponse('resData.nameserver1'),
'ns1' => $api->getFromResponse(['resData']['nameserver1']),
GetFromResponse如下所示:
public function getFromResponse($key)
{
return isset($this->results[$key]) ? $this->results[$key] : '';
}
API响应返回一个多维数组,但是您的函数
公共函数getFromResponse($key)
只提供了一个维度
$api->getFromResponse('resData')
的返回值实际上是一个数组,因此可以这样做:$api->getFromResponse('resData')['nameserver1']
从内部数组获取项的值。api响应返回一个多维数组,但是您的函数公共函数getFromResponse($key)
只提供了一个维度
$api->getFromResponse('resData')
的返回值实际上是一个数组,因此可以这样做:$api->getFromResponse('resData')['nameserver1']
从内部数组中获取项的值。您尝试过这个$api['resData']['nameserver1']
吗?不幸的是,我尝试过这个,无法工作。调试:var_dump($api->getFromResponse('result'),$api->getFromResponse('result')['resData']['nameserver1'])代码>第一个将显示完整的结构。第二个应该返回该结构的预期条目Hi Ryan,我只想确认这里的语法。执行'ns1'=>$api->getFromResponse('result')['resData']['nameserver1'],实际上返回字符串(4)“1000”字符串(1)“1”您是否尝试过这个$api['resData']['nameserver1']
?很遗憾,我尝试过这个,但没有成功。调试:变量转储($api->getFromResponse('result'),$api->getFromResponse('result')['resData'['nameserver1')代码>第一个将显示完整的结构。第二个应该返回该结构的预期条目Hi Ryan,我只想确认这里的语法。执行'ns1'=>$api->getFromResponse('result')['resData']['nameserver1'],实际上返回字符串(4)“1000”字符串(1)“1”