數組元素我想比較數組元素還判定是否0或1。我想選擇我的is_answer_accepted
由該函數返回is_answer_accepted($aid)
比較PHP
if($is_answer_accepted['is_answer_accepted'] === 0) {
delete_all_answer_as_solved($_GET['question']);
mark_question_as_solved($_GET['answer'], $_GET['question']);
}
if($is_answer_accepted['is_answer_accepted'] === 1) { //Debugger message: $is_answer_accepted: {is_answer_accepted => 0}[1]
delete_answer_as_solved($_GET['answer'], $_GET['question']);
}
我點擊一個非接受的答案(已確認),因此我is_answer_accepted
應爲0。不知怎的,我比較失敗,$is_answer_accepted['is_answer_accepted'] = 1
將返回即使壽是真的肯定是0
function is_answer_accepted($aid) {
global $conn;
$query=$conn->prepare("SELECT is_answer_accepted FROM is_answer_accepted(:aid)");
$query->execute(array($aid));
return $query->fetch();
}
當我做這個查詢我返回1,如果solved_date != NULL
和否則爲0。
CREATE OR REPLACE FUNCTION is_answer_accepted(aid INT)
returns INTEGER
LANGUAGE plpgsql
AS $$
DECLARE date_solved TIMESTAMP;
DECLARE answer_accepted INTEGER;
BEGIN
SELECT solved_date FROM answers WHERE answers.publicationid = aid
INTO date_solved;
IF date_solved is null THEN
answer_accepted := 0;
ELSE
answer_accepted :=1;
END IF;
return answer_accepted;
END
$$;
的迴應是:
is_answer_accepted
------------------
0
(1 row)
任何想法比較是怎麼錯了?
親切的問候
的可能的複製[3周不同的equals(http://stackoverflow.com/questions/2063480/the-3-different -equals) – Qirel
'if($ is_answer_accepted ['is_answer_accepted'] = 0){'表示您*賦值0給變量。看標誌的笨蛋。您需要使用'=='或'==='進行比較(嚴格比較)。 – Qirel
'='聲明瞭變量,'=='會做一個寬鬆的比較,'==='是一個嚴格的比較。我記不起它的來龍去脈,但我認爲'=='可以處理dataTypes,其中'==='必須匹配dataType和value。 – ThisGuyHasTwoThumbs