我正在尝试使用此代码检查数组中是否存在值。
$arr = array ('2' => '0', '3' => '0.58');
$num=3;
if (array_key_exists($num, $arr)) {
echo (array_key_exists($num, $arr)); //show the index, in this case 1
}
我想要的是显示对应的值,换句话说,0.58
我怎样才能做到这一点 ?
我正在尝试使用此代码检查数组中是否存在值。
$arr = array ('2' => '0', '3' => '0.58');
$num=3;
if (array_key_exists($num, $arr)) {
echo (array_key_exists($num, $arr)); //show the index, in this case 1
}
我想要的是显示对应的值,换句话说,0.58
我怎样才能做到这一点 ?
你需要的是这样的:
$arr = array ('2' => '0', '3' => '0.58');
$num=3;
if (array_key_exists($num, $arr)) {
echo $arr[$num];
}
假设您拥有所需值的键或索引位置,则可以使用两个函数,array_key_exists()
或isset()
.
array_key_exists()
检查数组以查看您指定的键是否存在于数组中。它不检查是否有与此键关联的值。换句话说,可以在数组中设置键,但值可以为空。
一个示例用法:
$arr = array ('2' => '0', '3' => '0.58');
$num=3;
if (array_key_exists($num, $arr)) {
echo $arr[$num];
}
isset()
可用于查看是否在特定数组索引中设置了值。
一个示例用法:
$arr = array ('2' => '0', '3' => '0.58');
$num=3;
if (isset($arr[$num])) {
echo $arr[$num];
}
由于您似乎要求仅检查数组中是否存在特定值,因此您可以查看 using in_array()
which 将扫描数组的值并根据是否找到该值返回真或假。
一个示例用法:
$arr = array ('2' => '0', '3' => '0.58');
$needle = '0.58';
if (in_array($needle, $arr)) {
echo "found: $needle";
}
此外,php.net 还有很多其他的数组函数,您应该熟悉一下。
var_dump(in_array(0.58, $arr)); // 3
相关文档。
尝试一下
<?php
$arr = array(
'2' => '0',
'3' => '0.58'
);
$num = 3;
if (array_key_exists($num, $arr)) {
echo $arr[$num];
// 0.58
}
echo '<br/>';
$val = '0.58';
if (in_array($val, $arr)) {
echo '0.58 found';
}
?>