デコードされたjson応答からforeachループ内に値が存在するかどうかをチェックし、それを自分の文字列と比較しようとしています。 $ domain_to_check値が$ key_info ['registered_domain']配列の中にある場合、$ response_array ['status']を "Allowed"に設定する必要があります。私は値が存在するかどうかをチェックするためにin_array PHP関数を使用しようとしましたが、私は成功しなかったし、値が配列の中にあっても "Not Allowed - Domain not listed"私は問題が私のforeachループであると思うが、私のために何が間違っているのか分からない。文字列がjson foreachループ内に存在するかどうかを確認します
$domain_to_check = 'domain-name.com';
$data = json_decode($returnCheckValue,true);
$key_response = $data['result'];
if ($key_response == 'success'){
foreach ($data['registered_domains'] as $key_domain_info) {
$key_listed_domain = $key_domain_info['registered_domain'];
if ($key_response == 'success' && in_array($domain_to_check, $key_listed_domain)) {
$response_array['status'] = 'Allowed';
}
else {
$response_array['status'] = 'Not Allowed - Domain not listed';
}
}
}
else {
$response_array['status'] = 'Not Allowed - Wrong Key';
}
echo json_encode($response_array);
ここに私のvar_dump(); $データの
array(9) { ["result"]=> string(7) "success" ["max_allowed_domains"]=> string(1) "3" ["registered_domains"]=> array(2) { [0]=> array(5) { ["id"]=> string(2) "60" ["lic_key_id"]=> string(2) "51" ["lic_key"]=> string(13) "93248cqkdj21as" ["registered_domain"]=> string(19) "domain-name-2.com" ["item_reference"]=> string(1) "1" } [1]=> array(5) { ["id"]=> string(2) "58" ["lic_key_id"]=> string(2) "51" ["lic_key"]=> string(13) "93248cqkdj21as" ["registered_domain"]=> string(14) "domain-name.com" ["item_reference"]=> string(3) "443" } } }
ですが、あなたの助けをありがとう、ドメインがリストされていないが、私はに管理しましたあなたのコードの助けを借りてそれを動作させる。 –