dsw8292301 2018-07-13 12:24
浏览 178
已采纳

检查对象数组中是否存在值

I am working on an API which receives a PHP object of $POST data. I am trying to check wether the 'smsPhoneNumber' inside customFields exists but not sure how to do this.

I am currently able to check for 'email' using:

if ( property_exists( $data, 'email' ) ) {
  return true;
}

Question: How to check if 'smsPhoneNumber' exists?

--

var_dump:

object(stdClass)[1515]
  public 'email' => string 'email@email.com'
  public 'customFields' => 
    array (size=2)
      0 => 
        object(stdClass)[1512]
          public 'name' => string 'Firstname'
          public 'value' => string 'james' 
      1 => 
        object(stdClass)[1514]
          public 'name' => string 'smsPhoneNumber'
          public 'value' => string '077'
  • 写回答

1条回答 默认 最新

  • doulipi3742 2018-07-13 12:29
    关注

    You could use an array_filter to get the custom field you want.

    $phoneFields = array_filter($data->customFields, function($field) {
        return $field->name === 'smsPhoneNumber';
    });
    

    This will only return objects in the array that have a name property equal to smsPhoneNumber.

    if (!count($phoneFields)) {
        // Phone not found
    }
    
    // or
    
    if ($phone = current($phoneFields)) {
        echo "The first phone number found is " . $phone->value;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办