私の質問を見てくれてありがとう、私はAjaxで動作するようにPHPでカスタム関数を開発した、私は基本的に値が配列内にあるかどうかを知りたい。なぜPHPは値が配列の中にあるのではないと言っていますか?
event_tryがデータベースクエリの結果セットに含まれているかどうかを確認しています。この場合、1004は "$ reg"配列にあります(私は保証します)。その場合、最後のif-elseは "notok"を返すべきですが、Ajaxを使ってjsonを出力するときはいつも "ok"になります。
私はprint_rでテストを行い、 "notok"を返します。それは何らかの理由でjsonとajaxだけである。
は、ここでは、コードです:
function validate_event_no_repeat(){
// header('Content-type: application/json');
$check_repeat_result = 0;
$check_repeat = array();
$event_try = 1004;
global $wpdb;
$current_user = wp_get_current_user();
$get_attendee = $wpdb->get_results("SELECT ATT_ID FROM su_esp_attendee_meta WHERE ATT_email='" . $current_user->user_email . "'");
foreach ($get_attendee as $atte):
$loggedID = $atte->ATT_ID;
$registration = $wpdb->get_results("SELECT ATT_ID, EVT_ID FROM su_esp_registration WHERE ATT_ID = $loggedID", ARRAY_N);
foreach ($registration as $reg):
if(in_array($event_try, $reg)):
$check_repeat[] = "notok";
else:
$check_repeat[] = "ok";
endif;
endforeach;
endforeach;
if(in_array("notok", $check_repeat)):
$check_repeat_result = "notok";
else:
$check_repeat_result = "ok";
endif;
echo json_encode(array('crr' => $check_repeat_result));
die();
}
私が知っている以上はは明らかに天才によって行われていないが、それはそれではないはず動作するはず?私はこれに得ることができるすべての助けに感謝します。
彼は(私はここgussingよ)インデックスのないin_array''の故に彼の使用、私はそれが数値配列を生み出すと信じて、引数としてARRAY_Nを使用しています –
? 'ATT_ID'または' EVT_ID'で? –
@bub EVT_IDが –