Php 正在检查具有in_数组的数组中是否存在变量

Php 正在检查具有in_数组的数组中是否存在变量,php,arrays,Php,Arrays,我使用in_数组查看变量$r中是否包含$appid。这是我对数组$r的打印(数组中的appid总是在更改): $appid等于$r数组中包含的263920,但尽管满足标准,“它可以工作”,但没有得到响应。任何帮助都将不胜感激,因为我不明白我的php语句有什么缺陷 if (in_array($appid, $r)) { echo 'it works'; // criteria met } 这是一个老办法,但这将工作。 由于您的输入是一个多维数组,所以您需要在数组中循环并搜索值是否在数组中 <

我使用in_数组查看变量$r中是否包含$appid。这是我对数组$r的打印(数组中的appid总是在更改):

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

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

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

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

使用返回数据进行特定于键的搜索:


我希望这有帮助。

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

if (in_array(array(0 => $appid, 'appid' => $appid), $r) { 
    echo 'It works'; 
}

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

function searchAppID($id, $array) {
   foreach ($array as $key => $val) {
       if ($val['appid'] === $id) {
           return $key;
       }
   }
   return null;
}
这会奏效的。你应该这样称呼它:

$id = searchAppID('263920 ', $r);
如果您有n级数组,则可以使用上面的函数,只需稍作修改。
如果您需要,请告诉我。

您能显示正确的数组而不是
打印吗??我不认为你的数组是完整的,索引4下的元素在哪里?你的数组是多维的。检查您的数组是否为多维数组,这可能会对您有所帮助:我将尝试一下。阵列中的appid对于每个用户总是不同的,并且不断变化。
$id = searchAppID('263920 ', $r);