Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 检查数组中是否存在值_Php_Arrays_Array Key Exists - Fatal编程技术网

Php 检查数组中是否存在值

Php 检查数组中是否存在值,php,arrays,array-key-exists,Php,Arrays,Array Key Exists,我试图用这段代码检查数组中是否存在值 $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 我该怎么做 var_dump(in_array(0.58, $arr)); /

我试图用这段代码检查数组中是否存在值

$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

我该怎么做

var_dump(in_array(0.58, $arr)); // 3
相关。

您需要的是:

$arr = array ('2' => '0', '3' => '0.58');

$num=3;
if (array_key_exists($num, $arr)) {
    echo $arr[$num];
}
试试看

<?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';
}
?>

假设您拥有所需值的键或索引位置,则可以使用两个函数,或

array\u key\u exists()。它不会检查是否存在与此键关联的值。换句话说,可以在数组中设置键,但值可以为null

用法示例:

$arr = array ('2' => '0', '3' => '0.58');

$num=3;
if (array_key_exists($num, $arr)) {
  echo $arr[$num];
}
$arr = array ('2' => '0', '3' => '0.58');

$num=3;
if (isset($arr[$num])) {
  echo $arr[$num];
}
$arr = array ('2' => '0', '3' => '0.58');
$needle = '0.58';
if (in_array($needle, $arr)) {
  echo "found: $needle";
}
isset()
可用于查看是否在特定数组索引中设置了值

用法示例:

$arr = array ('2' => '0', '3' => '0.58');

$num=3;
if (array_key_exists($num, $arr)) {
  echo $arr[$num];
}
$arr = array ('2' => '0', '3' => '0.58');

$num=3;
if (isset($arr[$num])) {
  echo $arr[$num];
}
$arr = array ('2' => '0', '3' => '0.58');
$needle = '0.58';
if (in_array($needle, $arr)) {
  echo "found: $needle";
}
由于您似乎只要求检查数组中是否存在特定值,因此可以查看使用哪个选项扫描数组的值,并根据是否找到值返回true或false

用法示例:

$arr = array ('2' => '0', '3' => '0.58');

$num=3;
if (array_key_exists($num, $arr)) {
  echo $arr[$num];
}
$arr = array ('2' => '0', '3' => '0.58');

$num=3;
if (isset($arr[$num])) {
  echo $arr[$num];
}
$arr = array ('2' => '0', '3' => '0.58');
$needle = '0.58';
if (in_array($needle, $arr)) {
  echo "found: $needle";
}

此外,php.net还有许多其他的功能,您应该熟悉。

您的意思是
$arr['3']
?您从何处获得
$numCol
$IA
?键
3
的索引不是
1
,而是
3
。这是数组中的第二个条目,但此信息不一定是可检索的。抱歉,我在复制时更改了变量的名称,但忘记了这些变量。请注意,除非您期望空值
isset($arr[$num])
等效,但比
数组\u key\u存在的速度快得多。