当比较数据库中的数据时,php中的选择条件不起作用

当比较数据库中的数据时,php中的选择条件不起作用,php,Php,我有密码 <?php require_once 'DB_Functions.php'; $response = array(); $db = new DB_Functions(); if (isset($_POST['no']) && isset($_POST['semester'])) { $no = $_POST['no']; $semester = $_POST['semester']; $list_matkul = array();

我有密码

<?php

require_once 'DB_Functions.php';
$response = array();
$db = new DB_Functions();

if (isset($_POST['no']) && isset($_POST['semester'])) {

    $no = $_POST['no'];
    $semester = $_POST['semester'];
    $list_matkul = array();
    $response['error'] = false;
    $sks = $db->getSks($no,$semester);
    $list_matkul = $db->getAllMatkulMhs($no,$semester);
    $response['sks'] = array_values($sks);
    //check metode penelitian
    if($semester >= 5) {
    if (array_values($sks) >= 96) {
        $names = array_column($list_matkul, 'nama_matkul');
        $metpen = in_array('matkul_1', $names);
        if ($metpen == true){
        $response['metpen'] = "Mengambil Mata Kuliah Metodologi Penelitian TI, mencari Topik Skripsi pada Semester ".($semester+1);
        }
    }}

    echo json_encode($response,JSON_PRETTY_PRINT); 
}
?>

为什么我在array_values($sks)>=96的选择条件仍然可以运行,从上面的json中我们可以看到array_values($sks)是24,并且低于96,这不符合条件要求,但是当我使用conn->prepare(“从ipk_mhs中选择没有用户id=”的sks)时,array_values返回一个没有键的数组,只有索引。 您应该使用
$sks[索引或键]

例如:

$array=array(“大小”=>“XL”,“颜色”=>“金色”);


$array[“size”]
输出将是:“XL”

array\u值不返回数字,因此您无法执行类似=”的比较,因为它返回的数组类似于您要查找的$sks[0]或array\u值($sks)[0]。这意味着数组上的第一个值
{
"error": false,
"sks": [
24
],
"metpen": "Mengambil Mata Kuliah Metodologi Penelitian TI, mencari Topik Skripsi pada Semester 6"
}
public function getSks($mhs,$semester) {


        $stmt = $this->conn->prepare("SELECT sks FROM ipk_mhs WHERE no_user_id = ? AND semester <= ?");
        $stmt->bind_param("ss", $mhs, $semester);
        if ($stmt->execute()) {
            $user = $stmt->get_result()->fetch_assoc();
            $stmt->close();
            return $user;
        }}