Php 为什么数组中的检查键在此代码中不起作用?

Php 为什么数组中的检查键在此代码中不起作用?,php,arrays,Php,Arrays,我尝试使用以下构造代码: $cat=$_GET['cat']; $samle_array=array('34','164','178','195'); if (isset($samle_array[$cat])) { // } else { // } 但它不起作用 它尝试使用数组\密钥\存在: $cat=$_GET['cat']; $samle_array=array('34','164','178','195'); if (array_key_exists($cat,$samle_array

我尝试使用以下构造代码:

$cat=$_GET['cat'];
$samle_array=array('34','164','178','195');
if (isset($samle_array[$cat])) {
//
} else {
//
}
但它不起作用

它尝试使用数组\密钥\存在:

$cat=$_GET['cat'];
$samle_array=array('34','164','178','195');
if (array_key_exists($cat,$samle_array)) {
//
} else {
//
}

但它也不起作用。

如果要根据数组检查值,则需要在数组中使用
函数

:检查数组中是否存在值

因此,在您的情况下,将其作为

$cat    =$_GET['cat'];
$samle_array = array('34','164','178','195');
if(in_array($cat, $samle_array)){
  // business logic
}

你用的是什么钥匙?164? 这些是值,不是键。用于检查数组中的键而不是值。您必须在数组中使用。if(在数组中($cat,$samle_数组)){