当前位置: 首页 > 知识库问答 >
问题:

检查变量是否存在于in_array[重复]的数组中

蒙勇
2023-03-14

我使用in_array查看$appid是否包含在变量$r中。这是我对数组$r的print_r(数组中的appids总是在变化):

$array = array(0 =>
    array(0 => 356050, 'appid' => 356050),
    1 => array(0 => 338040, ' appid' => 338040),
    2 => array(0 => 263920, 'appid' => 263920),
    3 => array(0 => 411740, 'appid' => 411740)
);

$appid等于$r数组中包含的263920,但尽管满足标准,“它可以工作”,但没有得到响应。任何帮助都将不胜感激,因为我不明白我的php语句有什么缺陷。

if (in_array($appid, $r)) {
echo 'it works'; // criteria met
}

共有3个答案

沃侯林
2023-03-14

这是一个老办法,但这将工作。由于您的输入是一个多维数组,所以您需要在数组中循环并搜索值是否在数组中。

<?php
$array = array(0 =>
    array(0 => 356050, 'appid' => 356050),
    1 => array(0 => 338040, ' appid' => 338040),
    2 => array(0 => 263920, 'appid' => 263920),
    3 => array(0 => 411740, 'appid' => 411740)
);
foreach ($array as $value) {
    if (in_array($appId, $value)) {
        echo 'Found';
    }
}
?>

带返回数据的键特定搜索:如何按键搜索=

我希望这有帮助。

公冶宏深
2023-03-14

您可以使用以下方法实现此目的。

function searchAppID($id, $array) {
   foreach ($array as $key => $val) {
       if ($val['appid'] === $id) {
           return $key;
       }
   }
   return null;
}

这将工作。你应该这样称呼它:

$id = searchAppID('263920 ', $r);

如果你有n级数组,那么你可以使用上面的函数,很少修改。如果你需要,请告诉我。

暴夕
2023-03-14

您有一个包含数组的数组。函数in_array()查看外部数组的内容,而不递归到内部数组。如果你这么做了它会发现的

if (in_array(array(0 => $appid, 'appid' => $appid), $r) { 
    echo 'It works'; 
}
 类似资料:
  • 问题内容: 我现在用来检查此功能的函数如下: 有用。我正在寻找的是是否有更好的方法来做到这一点。 问题答案: ECMAScript 2016 包含一种专门用于解决问题的数组方法,因此现在是首选方法。 _从2018年7月开始,如果您需要支持IE,则可以在polyfill中使用几乎所有 主流 浏览器。 编辑:请注意,如果数组中的项目是一个对象,则返回false。这是因为相似的对象是JavaScript

  • 本文向大家介绍php in_array() 检查数组中是否存在某个值详解,包括了php in_array() 检查数组中是否存在某个值详解的使用技巧和注意事项,需要的朋友参考一下 php in_array() 检查数组中是否存在某个值 in_array检查数组中是否存在某个值 基本语法: bool in_array(mixed $needle,array $haystack,bool $stric

  • 本文向大家介绍PHP使用in_array函数检查数组中是否存在某个值,包括了PHP使用in_array函数检查数组中是否存在某个值的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP使用in_array函数检查数组中是否存在某个值的方法。分享给大家供大家参考。具体分析如下: PHP使用in_array()函数检查数组中是否存在某个值,如果存在则返回 TRUE ,否则返回 FALSE了,非

  • 问题内容: 我确信这是一个非常明显的问题,并且确实有一个函数可以执行此操作,但是我似乎找不到它。在PHP中,我想尽可能有效地知道数组中是否有重复项。我不想像删除它们一样,并且我也不希望运行并将其与原始数组进行比较以查看它们是否相同,因为这似乎效率很低。就性能而言,“预期条件”是该阵列没有重复项。 我只想做类似的事情 我有没有想到的明显功能? 具有正确的标题,并且是一个非常相似的问题,但是,如果您实

  • 我有一个我创建的自定义类对象的列表。 其中,类有、、变量和getter。。。我想检查一下我的列表中是否已经有一种食品杂货,如果不存在,我想把它添加到我的列表中,这是我的代码: itemName是一个具有普通字符串名称的变量。这不起作用。

  • 问题 你希望检查一个变量是否为一个数组。 myArray = [] console.log typeof myArray // outputs 'object' “typeof” 运算符为数组输出了一个错误的结果。 解决方案 使用下面的代码: typeIsArray = Array.isArray || ( value ) -> return {}.toString.call( value ) i