检查数组中是否存在某个值

发布于 2024-12-16 20:59:11 字数 282 浏览 1 评论 0 原文

我正在尝试使用此代码来检查数组中是否存在值。

$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

我该怎么做?

I am trying this code to check if a value exists in an array.

$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
}

What i want is show the correspondent value, in other words, 0.58

How can i do that ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

梦在夏天 2024-12-23 20:59:11

你需要的是这样的:

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

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

What you need is this:

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

$num=3;
if (array_key_exists($num, $arr)) {
    echo $arr[$num];
}
孤独难免 2024-12-23 20:59:11

假设您拥有所需值的键或索引位置,则可以使用两个函数, 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];
}

由于您似乎只要求检查数组中是否存在特定值,因此您可以查看使用 in_array() 它将扫描数组的值并根据是否返回 true 或 false找到了价值。

用法示例:

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

此外,php.net 还有许多其他数组函数 你应该熟悉的。

Assuming that you have the key or index position of the value you want, there are two functions that you could use, array_key_exists() or isset().

array_key_exists() checks an array to see if the key you specified exists within the array. It does not check to see if there is a value associated with this key. In other words the key may be set in the array, however the value could be null.

An example usage:

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

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

isset() can be used to see if a value is set in a specific array index.

An example usage:

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

$num=3;
if (isset($arr[$num])) {
  echo $arr[$num];
}

Since you seem to be asking to only check to see if a specific value exists within an array, you can take a look at using in_array() which will scan the values of the array and return true or false depending on if it found the value.

An example usage:

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

Additionally, php.net has a lot of other array functions that you should familiarize yourself with.

夜雨飘雪 2024-12-23 20:59:11
var_dump(in_array(0.58, $arr)); // 3

相关文档

var_dump(in_array(0.58, $arr)); // 3

relevant docs.

海拔太高太耀眼 2024-12-23 20:59:11

尝试一下

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

Try it

<?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';
}
?>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文