检查对象数组是否包含第二个对象数组

克里斯

我需要检查DOMNode对象数组是否包含相似DOMNode对象数组中的所有项目

通常,要检查一个数组是否包含另一个数组,我尝试了此问题中概述的一些方法然而,无论是array_intersect()array_diff()对基础比较数组项(string) $elem1 === (string) $elem2它引发以下错误的-DOMElements因为他们无法转换为字符串。

PHP Catchable fatal error: 
Object of class DOMElement could not be converted to string in...

处理此问题的正确方法是什么?

Timmetje

我已经做到了这一点似乎可行,例如,我用各种对象和类型填充了两个数组,只是看它是否有效:

$array = array(new DOMDocument(), 'foobar', 112312, new DateTime('Y'));
$array2 = array(new DOMDocument(), 'foobar',12312, false, new DateTime('Y'), 112312, true);

var_dump(array_diff_two($array,$array2)); //returns true

$array = array(new DOMDocument(), 'foobar', 112312, new DateTime('m'));
$array2 = array(new DOMDocument(), 'lorem ipsum!',12312, false, new DateTime('Y'), 112312, true);

var_dump(array_diff_two($array,$array2)); //returns false

function array_diff_two($array1, $array2){
    // serialize all values from array 2 which we will check if they contain values from array 1
    $serialized2 = array();
    foreach ($array2 as $value){
        $serialized2[] = serialize($value);
    }

    // Check if all values from array 1 are in 2, return false if it's not found
    foreach ($array1 as $value) {
        if (! in_array(serialize($value), $serialized2)) {
            return false;
        }
    }
    return true;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

检查第二个数组是否包含第一个数组的元素,然后显示

来自分类Dev

比较1个对象数组与第二个对象数组,按键比较

来自分类Dev

基于Javascript中的第二个对象数组过滤对象数组1(UnderscoreJS)

来自分类Dev

如果第二个数组的项目包含数组第一个对象的id,则在Angular 8中合并两个对象数组

来自分类Dev

JS:筛选对象列表以仅包含在第二个数组中找到的字符串

来自分类Dev

从第二个数组中过滤匹配值的对象数组

来自分类Dev

在解码的JSON中访问第二个数组(非对象)

来自分类Dev

在Postman中选择数组中的第二个对象

来自分类Dev

如何找到stdclass对象数组的第二个元素

来自分类Dev

如何使用 Java/JavaFX 代码读取第二个数组上的 JSON 对象

来自分类Dev

检查对象中的任何数组是否包含空值

来自分类Dev

如何检查对象数组是否包含字符串

来自分类Dev

检查对象内部的另一个数组中是否包含一个数组

来自分类Dev

numpy数组从第二个数组插入第二个元素

来自分类Dev

检查对象数组是否为空

来自分类Dev

检查对象是否等于数组

来自分类Dev

在具有对象(第二个参数)的数组(第一个参数)上使用for循环迭代

来自分类Dev

检查数组中的匹配键,如果找到则接受第二个数组条目,如果不接受则取第二个数组条目

来自分类Dev

检查对象数组是否是另一个对象数组的子集

来自分类Dev

jQuery map对象将所有内容保留在第二个数组中

来自分类Dev

为什么构造函数没有得到数组中第二个对象的调用

来自分类Dev

C ++通过引用第二个对象传递3D数组,无法操作

来自分类Dev

如何在PostgreSQL中将特殊字符串视为数组并从中选择第二个对象

来自分类Dev

比较两个对象数组,并删除第二个对象数组中具有相同属性值的项

来自分类Dev

比较两个对象数组,并删除第二个对象数组中具有相同属性值的项

来自分类Dev

使用javascript / jquery检查URL在第二个“ /”之后是否包含任何内容

来自分类Dev

如何使用数组包含并根据对象的属性检查对象

来自分类Dev

访问对象中的嵌套键并将它们与其他对象键进行比较,但是第二个是对象数组

来自分类Dev

如何检查是否存在第二个参数

Related 相关文章

  1. 1

    检查第二个数组是否包含第一个数组的元素,然后显示

  2. 2

    比较1个对象数组与第二个对象数组,按键比较

  3. 3

    基于Javascript中的第二个对象数组过滤对象数组1(UnderscoreJS)

  4. 4

    如果第二个数组的项目包含数组第一个对象的id,则在Angular 8中合并两个对象数组

  5. 5

    JS:筛选对象列表以仅包含在第二个数组中找到的字符串

  6. 6

    从第二个数组中过滤匹配值的对象数组

  7. 7

    在解码的JSON中访问第二个数组(非对象)

  8. 8

    在Postman中选择数组中的第二个对象

  9. 9

    如何找到stdclass对象数组的第二个元素

  10. 10

    如何使用 Java/JavaFX 代码读取第二个数组上的 JSON 对象

  11. 11

    检查对象中的任何数组是否包含空值

  12. 12

    如何检查对象数组是否包含字符串

  13. 13

    检查对象内部的另一个数组中是否包含一个数组

  14. 14

    numpy数组从第二个数组插入第二个元素

  15. 15

    检查对象数组是否为空

  16. 16

    检查对象是否等于数组

  17. 17

    在具有对象(第二个参数)的数组(第一个参数)上使用for循环迭代

  18. 18

    检查数组中的匹配键,如果找到则接受第二个数组条目,如果不接受则取第二个数组条目

  19. 19

    检查对象数组是否是另一个对象数组的子集

  20. 20

    jQuery map对象将所有内容保留在第二个数组中

  21. 21

    为什么构造函数没有得到数组中第二个对象的调用

  22. 22

    C ++通过引用第二个对象传递3D数组,无法操作

  23. 23

    如何在PostgreSQL中将特殊字符串视为数组并从中选择第二个对象

  24. 24

    比较两个对象数组,并删除第二个对象数组中具有相同属性值的项

  25. 25

    比较两个对象数组,并删除第二个对象数组中具有相同属性值的项

  26. 26

    使用javascript / jquery检查URL在第二个“ /”之后是否包含任何内容

  27. 27

    如何使用数组包含并根据对象的属性检查对象

  28. 28

    访问对象中的嵌套键并将它们与其他对象键进行比较,但是第二个是对象数组

  29. 29

    如何检查是否存在第二个参数

热门标签

归档