我正在使用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]=>
答案 0 :(得分:0)
$ tet的第一个数组键是什么?
我们可以看到第一个是数据,但其他人呢?
httpRequestBase.addHeader("Authorization", "Basic " + auth);
编辑:因为@lma说array_key_exists不能深入到子,甚至你给我们的编辑结构看起来很奇怪,有些尾随}在数组的中间。