我在试图显示某些数字(产品编号)存在于关联数组时遇到了麻烦。当我尝试这段代码时,我总是得到"false"。
<?php
$products = array(
'1000' => array('name' => 'Gibson Les Paul Studio',
'price' => 1099.99),
'1001' => array('name' => 'Fender American Standard Stratocaster',
'price' => 1149.99),
'1002' => array('name' => 'Jackson SL1 USA Soloist',
'price' => 2999.99)
);
if (in_array('1001', $products)) {
echo "true";
} else {
echo "false";
}
?>
我真的很感激任何帮助。谢谢!
您正在寻找array_key_exists()
,而不是in_array()
,因为您正在搜索特定键,而不是搜索值:
if( array_key_exists('1001', $products))
此处不能使用in_array() (检查数组中是否存在值)。
Try array_key_exists() (检查给定的键或索引是否存在于数组)。
if (array_key_exists('1001', $products)) {
echo "true";
} else {
echo "false";
}
您甚至可以使用isset()和empty()检查键是否存在