如何使用php检查字符串是否在数组中?

2022-08-31 00:45:45

我有一个数组,var_dump时如下所示:

 array(3) { [0]=> array(3) { ["id"]=> string(1) "3" ["category"]=> string(5) "staff" ["num_posts"]=> string(1) "1" } [1]=> array(3) { ["id"]=> string(1) "1" ["category"]=> string(7) "general" ["num_posts"]=> string(1) "4" } [2]=> array(3) { ["id"]=> string(1) "2" ["category"]=> string(6) "events" ["num_posts"]=> string(1) "1" } }

如果数组不包含以下字符串,我需要回显一个值:'hello'

这怎么可能,我尝试过使用in_array,但没有成功。帮助赞赏。


答案 1
foreach ($array as $subarray)
{
   if(!in_array('hello', $subarray))
   {
      echo 'echo the value';
   }
}

答案 2

对于多维数组,请尝试:


function in_array_r($needle, $haystack, $strict = true) {
    foreach ($haystack as $item) {
        if (($strict ? $item === $needle : $item == $needle) || (is_array($item) && in_array_r($needle, $item, $strict))) {
            return true;
        }
    }

    return false;
}