小编bil*_*red的帖子

使用三元运算符或仅短路评估之间的区别?

最近遇到了短路评估,并且对此感到有点困惑,因为我上周才开始编程。据我了解,如果第一个双管之前发生的事情是真的,那么它将停止并且不评估双管之后发生的事情。例如:

示例1:

var a = true;
var b = a || {};
Run Code Online (Sandbox Code Playgroud)

所以我假设如果 a 存在,则将 a 分配给 b 否则 b 等于一个对象。我不明白的是我将在哪里使用它以及它与三元运算符有何不同,短路评估是否与以下相同:

示例2:

var a = true;
var b = (a) ? a : {};
Run Code Online (Sandbox Code Playgroud)

为什么要使用示例 1 而不是示例 2,因为它的写出速度并没有变慢,或者使用其中一种比另一种有速度优势吗?或者这只是一个愚蠢的问题,也许我错过了一些东西。如果有人能为我解决这个问题那就太好了。

javascript ternary-operator short-circuiting

5
推荐指数
1
解决办法
4773
查看次数

在 PHP 中与没有 WSDL 的soap API 交互

最近可以访问酒店管理服务的soap API。他们提供了显示请求的基本示例的文档:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">    
<soapenv:Header>       
  <Auth xmlns="http://xxxx/xxxxAPI">          
  <FromSystemId ID="1">CompanyName</FromSystemId>          
    <UserName>username</UserName>          
    <Password>password</Password>       
  </Auth>    
</soapenv:Header>    
<soapenv:Body>       
  <GetRegions Timestamp="2016-04-11" Version="1.0" Lang="en" 
     xmlns="http://xxxx/xxxxAPI">
  <Country Code="GB" />  
  </GetRegions>    
</soapenv:Body> 
</soapenv:Envelope>
Run Code Online (Sandbox Code Playgroud)

他们还在其文档中提供了功能列表以及每个功能所需的参数。但是我对如何执行请求感到有些困惑,因为我以前从未使用过soap API。他们也没有提供 WSDL,这有关系吗?

无论如何,这是我想尝试执行请求的方式

$soapURL = "http://xxxx/xxxxAPI" ;
$soapParameters = Array('login' => "username", 'password' => "password") ;
$soapFunction = "getRegions";
$soapFunctionParameters = Array('countrycode' => 'GB');

$soapClient = new SoapClient($soapURL, $soapParameters);

$soapResult = $soapClient->__soapCall($soapFunction, 
$soapFunctionParameters) ;

if(is_array($soapResult) && isset($soapResult['someFunctionResult'])) {
    // Process result.
} else {
    // Unexpected result
    if(function_exists("debug_message")) {
        debug_message("Unexpected soapResult for {$soapFunction}: ".print_r($soapResult, …
Run Code Online (Sandbox Code Playgroud)

php xml api soap

2
推荐指数
1
解决办法
6517
查看次数

标签 统计

api ×1

javascript ×1

php ×1

short-circuiting ×1

soap ×1

ternary-operator ×1

xml ×1