如何检查一个值是否存在于关联数组中
How to check whether a value exists in an associative array
我有一个数组,它是 SELECT 查询的结果,我想检查该数组中是否存在某个值。
我尝试了以下操作,但这没有找到值,并且总是 returns 数组中不存在该值。
我假设我错误地引用了数组。有人可以告诉我如何正确执行此操作吗?
我的数组:
array ( 0 => array ( 'itemName' => 'bandwidth', 'itemType' => 'number', 'itemUnit' => 'mbit', ), 1 => array ( 'itemName' => 'bSize', 'itemType' => 'number', 'itemUnit' => 'sqm', ), 2 => array ( 'itemName' => 'bArea', 'itemType' => 'number', 'itemUnit' => 'sqm', ), )
我的PHP:
// ...
$resultC = $stmt->get_result()->fetch_all(MYSQLI_ASSOC);
var_export($resultC);
if(in_array('bandwidth', $resultC)) {
echo 'exists in array';
} else {
echo 'does not exist in array';
}
您可以结合使用 array_column
和 in_array
。
$resultC = [
0 => ['itemName' => 'bandwidth', 'itemType' => 'number', 'itemUnit' => 'mbit'],
1 => ['itemName' => 'bSize', 'itemType' => 'number', 'itemUnit' => 'sqm'],
2 => ['itemName' => 'bArea', 'itemType' => 'number', 'itemUnit' => 'sqm'],
];
return in_array('bandwidth', array_column($resultC, 'itemName'));
我有一个数组,它是 SELECT 查询的结果,我想检查该数组中是否存在某个值。
我尝试了以下操作,但这没有找到值,并且总是 returns 数组中不存在该值。
我假设我错误地引用了数组。有人可以告诉我如何正确执行此操作吗?
我的数组:
array ( 0 => array ( 'itemName' => 'bandwidth', 'itemType' => 'number', 'itemUnit' => 'mbit', ), 1 => array ( 'itemName' => 'bSize', 'itemType' => 'number', 'itemUnit' => 'sqm', ), 2 => array ( 'itemName' => 'bArea', 'itemType' => 'number', 'itemUnit' => 'sqm', ), )
我的PHP:
// ...
$resultC = $stmt->get_result()->fetch_all(MYSQLI_ASSOC);
var_export($resultC);
if(in_array('bandwidth', $resultC)) {
echo 'exists in array';
} else {
echo 'does not exist in array';
}
您可以结合使用 array_column
和 in_array
。
$resultC = [
0 => ['itemName' => 'bandwidth', 'itemType' => 'number', 'itemUnit' => 'mbit'],
1 => ['itemName' => 'bSize', 'itemType' => 'number', 'itemUnit' => 'sqm'],
2 => ['itemName' => 'bArea', 'itemType' => 'number', 'itemUnit' => 'sqm'],
];
return in_array('bandwidth', array_column($resultC, 'itemName'));