次のようなXMLファイルがあります。
<services>
<service>
<code>MODULE_1</code>
<name>Regular</name>
<price>14.85</price>
</service>
<service>
<code>MODULE_2</code>
<name>Express</name>
<price>22.50</price>
</service>
</services>
$result
別のサーバーからファイルを取得します。私のコードは次のようになります。
$methods = array() ;
$xmlQuotes = new SimpleXMLElement($result) ;
foreach($xmlQuotes as $quote) {
$add = 0 ; $f = 0 ;
switch ($quote->code) {
case "MODULE_1" ;
if ((in_array("Regular", $this->allowed_methods))) {
$add = MODULE_1_HANDLING ; $f = 1 ;
$id = "m_1";
$cost = $quote->price;
$description = $quote->name;
}
break;
case "MODULE_2" ;
if ((in_array("Express", $this->allowed_methods))) {
$add = MODULE_2_HANDLING ; $f = 1 ;
$id = "m_2";
$cost = $quote->price;
$description = $quote->name;
}
break;
}
if (($cost > 0) && ($f == 1)) {
$cost = $cost + $add ;
$methods[] = array('id' => "$id",
'title' => "$description",
'cost' => "$cost");
}
}
$this->quotes['methods'] = $methods;
そして、これは最後のポイントまですべて問題ありません-コードを使用しているとき、$methods
配列は正しく返されず、一致しているため$cost
、代わりに最初のモジュールの価格と説明を返します。これは次のようになります。$description
$code
MODULE_1: Regular: 14.85
MODULE_2: Regular: 14.85
私はここで夢中になっています」私は明らかに私が何をしているのかわからないので、どんな助けでも大いに感謝されるでしょう。