PHP-允许多个响应

PHP-允许多个响应,php,Php,我正试图用PHP了解AmazonAPI。目前,我的程序中有另一个编码器提供的代码: if ($pxml->Items->Item->Offers->Offer->OfferListing->Availability == 'Usually dispatched within 24 hours') $stock = ($pxml->Items->Item->OfferSummary->TotalNe

我正试图用PHP了解AmazonAPI。目前,我的程序中有另一个编码器提供的代码:

        if ($pxml->Items->Item->Offers->Offer->OfferListing->Availability == 'Usually dispatched within 24 hours')
            $stock = ($pxml->Items->Item->OfferSummary->TotalNew > 0) ? '1' : '0';
        else
            $stock = 0;
我怎样才能做到这一点,而不是通常在24小时内发出的
回复
,我们还允许
的回复通常在1-2个工作日内发出

我是否需要使用
指示符

if ($pxml->Items->Item->Offers->Offer->OfferListing->Availability ==
'Usually dispatched within 24 hours' ||
$pxml->Items->Item->Offers->Offer->OfferListing->Availability ==
'Usually ships in 1-2 business days'){
如果您希望在“24小时内”和“1-2个工作日内”执行相同的行为,请使用for“OR”(
|
)。否则,

 if ($pxml->Items->Item->Offers->Offer->OfferListing->Availability ==
 'Usually dispatched within 24 hours'){
     //do X
 }
 elseif($pxml->Items->Item->Offers->Offer->OfferListing->Availability ==
 'Usually ships in 1-2 business days'){ 
     //do Y
 }

将允许您根据不同的响应执行不同的操作

或。。。实际上,您可以优化php,以便将来更容易理解和编辑:

$val = $pxml->Items->Item->Offers->Offer->OfferListing->Availability; 
if ($val == 'Usually dispatched within 24 hours'){
     //do X ;
 }
 elseif($val == 'Usually ships in 1-2 business days'){ 
     //do Y ;
 }

通过这种方式,您可以添加任意多个elseif条件,或者更改XML值,而不必反复重复更改。如果它变得太大,那就把它作为一个例子。

如:
If($pxml->Items->Item->Offers->Offer->OfferListing->Availability=='通常在24小时内发送'|$pxml->Items->Offers->OfferListing->Availability=='通常在1-2个工作日内发送')
?你试过了吗?我投了反对票,因为这个问题基本上包含了答案,你只需要有信心去尝试。如果你自己做实验,你会走得更远,然后在这里问你的实验是否会走向死胡同;然后,您可以向我们展示您迄今为止所做的尝试。我还建议,这不是读取和复制的最佳代码,因为它有一些相当糟糕的编码风格:例如,如果没有{},则if和else变量$stock在一种情况下设置为字符串,在另一种情况下设置为整数(很可能以后用作布尔值,因为它只设置为0或1)。您有一个额外的
,或者如果它们是相同的操作,正如问题所暗示的,
如果($val=='通常在24小时内发送'| |$val=='通常在1-2个工作日内发送')
。但是+1用于非常合理地使用中间变量,而不是重复如此长的表达式。