I want to compare an array element to wether 0 or 1. For that I want to select my is_answer_accepted that is returned by the function is_answer_accepted($aid)
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']);
}
I'm clicking on a non accepted answer (confirmed), therefore my is_answer_accepted should be 0. Somehow my comparison is failing and $is_answer_accepted['is_answer_accepted'] = 1 is returning true even tho it is certainly 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();
}
When I do this query I return 1 if solved_date != NULL and 0 otherwise. 
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
$$;
The response is:
is_answer_accepted
------------------
                 0
(1 row)
Any idea how the comparison is wrong?
Kind regards
 
    