存在PHP数组键

时间:2016-11-29 13:11:36

标签: php arrays

我正在使用API​​,现在我想检查是否存在数组键然后执行某些操作。

使用数组我收集这样的数据:

$pers_payload = array(
    'gender' => 'Unknown', //or Male / Female
    'first_name' => $_POST['billing_first_name'],
    'family_name'   => $_POST ['billing_last_name'],
    'email' => $_POST['billing_email'],
    'linked_as_contact_to_organization' => array(
        array(
            'organization_id' => $organization_id, // add the person as a contact to the newly created organization
            'work_email' => $_POST['billing_email'],
            'work_phone' => $_POST['billing_phone']
            )
        ),
    'visiting_address' => array(
        'country_code'          =>  'NL'
        ), // can be extented with other address data
    'postal_address' => array(
        'country_code'      =>  $_POST['billing_country'] 
    )   // can be extented with other address data
);

然后我使用这样的get请求:

$tet = $SimplicateApi->makeApiCall('GET','/crm/person?q[first_name]=Kevin');

然后我检查数组是否存在于get请求的结果中,如下所示:

if(array_key_exists('first_name', $tet)) {
   // do Nothing
}else{
   // make API call
   $person = $SimplicateApi->makeApiCall('POST','/crm/person',json_encode($pers_payload));
}

我确定get请求正常,因为我做了一个var_dump($ tet);我得到了这个结果:

  array(3) { ["data"]=> array(6) { [0]=> array(18) { ["id"]=> string(39) "person:71cf33fb785433ab66550e5701120079

那是我得到的一部分,我不能发布所有这些。因为它包含敏感信息。

由于某些原因,即使array_key存在,此代码仍会运行:

$person = $SimplicateApi->makeApiCall('POST','/crm/person',json_encode($pers_payload));

-

array(3) { ["value"]=> bool(false) ["id"]=> string(41) "interest:7d3458131ea89afbe1bb3149bee8b668" ["name"]=> string(3) "Web" } } } } ["gender"]=> string(7) "Unknown" ["first_name"]=> string(5) "Kevin" ["family_name"]=> string(7) "A" ["full_name"]=> string(13) "Kevin A" ["email"]=> string(24) "ma@edd-marketingsuppxort.nl" ["phone"]=> string(8) "06269684" } [5]=> array(11) { ["id"]=> string(39) "person:51045f230a9cc39136aaf3a22a069eb0" ["interests"]=> array(1) { [0]=> 

1 个答案:

答案 0 :(得分:0)

$ tet的第一个数组键是什么?
我们可以看到第一个是数据,但其他人呢?

httpRequestBase.addHeader("Authorization", "Basic " + auth);

编辑:因为@lma说array_key_exists不能深入到子,甚至你给我们的编辑结构看起来很奇怪,有些尾随}在数组的中间。