1

好的,所以我收到了来自我的转售商面板的 api 调用以进行托管。我正在努力为我的国家实现这一目标:

<select name="countries">
  <option value="n226">United States</option>
</select>

其中 value 等于标签名称,display 等于每个国家/地区的名称。

我目前正在使用 Curl 和 simplexml_load_string php 代码。

function test() {

  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, "ApiCallUrl");
  curl_setopt($ch, CURLOPT_POST, 1);
  curl_setopt($ch, CURLOPT_POSTFIELDS, POST);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  $string = curl_exec($ch);   

  $xml = simplexml_load_string($string);

  print_r($xml);
}

我上面的内容返回了它应该返回的内容(有点混乱)

SimpleXMLElement Object
( [command] => 0 [error_code] => 0 [ttl] => 56000 [countries] => SimpleXMLElement Object ( [n0] => SimpleXMLElement Object ( [name] => Afghanistan [iso2] => AF [phone_code] => 93 )
    [n1] =&gt; SimpleXMLElement Object
        (
            [name] =&gt; Albania
            [iso2] =&gt; AL
            [phone_code] =&gt; 355
        )

简而言之,这就是它当前返回的内容。

现在,当我按照 php 网站上的示例一中的建议更改为:http: print_r($xml);//php.net/manual/en/function.simplexml-load-string.php它只返回:没有别的。print_r($xml->name);SimpleXMLElement Object ( )

现在我只是想呼应每个国家的名字,我不一定担心现在的选择。

那么为什么它会与:print_r($xml);但不能与print_r($xml->name);

顺便提一句:

在我对 api 进行任何操作之前,它显示以下内容:(我通过print_r($string);在定义 $string 后直接添加来实现这一点

<ampa>
<command></command>0
<error_code>0</error_code>
<ttl>56000</ttl>
<countries>
    <n0>
        <name>Afghanistan</name>
        <iso2>AF</iso2>
        <phone_code>93</phone_code>
    </n0>
    <n1>
        <name>Albania</name>
        <iso2>AL</iso2>
        <phone_code>355</phone_code>
    </n1>
4

0 回答 0