微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

比较php数组的结构,无论内容如何

我有两个数组,我想比较它们的结构,即相同的键.
我尝试使用array_diff_key,但问题是定义了一个数组,如下所示:

    $fields = array('id' , 'site', 'placement', 'device', 'source', 'campaign', 'url', 'country', 'dof_count', 'dof_idx', 'active');

所以当我在上面使用var_dump()时,我得到以下结果:

{
  [0]=>
  string(2) "id"
  [1]=>
  string(4) "site"
  [2]=>
  string(9) "placement"
  [3]=>
  string(6) "device"
  [4]=>
  string(6) "source"
  [5]=>
  string(8) "campaign"
  [6]=>
  string(3) "url"
  [7]=>
  string(7) "country"
  [8]=>
  string(9) "dof_count"
  [9]=>
  string(7) "dof_idx"
  [10]=>
  string(6) "active"
}

一个是由一个函数创建的,然后像这样返回:

{
  ["id"]=>
  NULL
  ["site"]=>
  NULL
  ["placement"]=>
  NULL
  ["device"]=>
  NULL
  ["source"]=>
  NULL
  ["campaign"]=>
  NULL
  ["url"]=>
  NULL
  ["country"]=>
  NULL
  ["dof_count"]=>
  int(0)
  ["dof_idx"]=>
  NULL
  ["active"]=>
  NULL
}

因此,尽管两个数组具有相同的结构,但array_diff_key却无济于事. PHP中有没有一种方法可以在忽略内容的同时比较这两个数组的结构,在我的情况下,它是第二个数组中的所有null和一个int?

解决方法:

您可以简单地将array_diff与array_keys一起使用

$result = array_diff($fields,array_keys($keys_array));

注意:未测试

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐