【问题标题】:What's the most succinct way in PHP to test if an array key is exists and save it's value? [duplicate]PHP中测试数组键是否存在并保存其值的最简洁的方法是什么? [复制]
【发布时间】:2012-05-10 19:06:01
【问题描述】:

这看起来真的很笨重:

if (empty($xml['soap:Envelope']['soap:Body']['SendPurchasesResponse']['PurchasesResponse']['Status']['Code'])) {
    $status = $xml['soap:Envelope']['soap:Body']['SendPurchasesResponse']['PurchasesResponse']['Status']['Code'];
}

如果缺少某些数组键,是否有更好的方法来处理“未定义索引”错误?正如您可能猜到的那样,这个数组来自基于 XML 的 API,我无法相信他们对我的响应。

您是否认为使用“@”来抑制错误是一种逃避:

$status = @$xml['soap:Envelope']['soap:Body']['SendPurchasesResponse']['PurchasesResponse']['Status']['Code'];

【问题讨论】:

  • 不要抑制错误。使用引用重复中的答案。

标签: php arrays simplexml


【解决方案1】:

这对你有什么作用?

try {
  $status = $xml['soap:Envelope']['soap:Body']['SendPurchasesResponse']['PurchasesResponse']['Status']['Code'];
} catch (Exception $e) {
  $status = ""
}

【讨论】:

  • 我喜欢!我没想到 PHP 通知错误会被捕获为异常。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-23
  • 2023-03-17
  • 1970-01-01
  • 1970-01-01
  • 2015-08-29
相关资源
最近更新 更多