Php 如何查看json数组是否包含值?

Php 如何查看json数组是否包含值?,php,json,testing,codeception,Php,Json,Testing,Codeception,因此,我是php新手,在测试一些服务时,我有一个JSON对象: { "entry": [ { "authorId": "@me", "type": "USER" }, { "authorId": "514", "type": "USER"

因此,我是php新手,在测试一些服务时,我有一个JSON对象:

{
  "entry": [
    {
      "authorId": "@me",
      "type": "USER"
    },
    {
      "authorId": "514",
      "type": "USER"
    },
    {
      "authorId": "516",
      "type": "USER"
    }
  ],
  "count": 3,
  "totalResults": 3
}
我需要声明“@me”是这个对象的一部分。我试过这样的方法:

$Obj->assertTrue(array_key_exists('@me', $response['entry']));
但这不仅仅是有效的。有人能给我一个提示吗?多谢各位

编辑:
“@me”可以在数组中的任何位置,而不是第一个位置,我要求在codecept中进行测试,因此我需要直接断言,您可以循环检查结果集以检查每个条目

function checkEntries($object, $search) {
   $object = json_decode($object, true);
   foreach($object['entry'] as $entry) {
      if ($entry['authorId'] == $search) {
          return true;
      }
   }
   return false;
}
或者您也可以使用此选项:

“authoriId”是该值的数组键。尝试用数组中的
替换数组中的\u key\u exists,以检查值。@Gavin请不要将解决方案建议为注释@现在这个页面已经关闭,我只能提供建议作为评论。如果您想要一些能够巧妙地放入
assertTrue()
调用中的内容,那么这里有两个选项:@Andrei因为您只收到了错误的答案,并且在您的问题上没有经过投票的答案,所以您可以自行删除您的问题(它可能会被删除)。