PHP-允许多个响应
我正试图用PHP了解AmazonAPI。目前,我的程序中有另一个编码器提供的代码:PHP-允许多个响应,php,Php,我正试图用PHP了解AmazonAPI。目前,我的程序中有另一个编码器提供的代码: if ($pxml->Items->Item->Offers->Offer->OfferListing->Availability == 'Usually dispatched within 24 hours') $stock = ($pxml->Items->Item->OfferSummary->TotalNe
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用于非常合理地使用中间变量,而不是重复如此长的表达式。