【问题标题】:converting an object to an array in laravel在laravel中将对象转换为数组
【发布时间】:2021-02-11 19:12:15
【问题描述】:

我正在尝试比较两个数组并使用它们的差异从另一个数组中删除数据,但是当我使用生成的数组使用 array_flip 执行 array_diff_key 时,它会返回; array_diff_key():期望参数1是一个数组,给定对象

$unchecked_cols = array_diff($selected_table_cols,$selected_cols);
        $tem_array = [];                    
        foreach ($selected_table_data as $key => $value) {
            $value =array_diff_key($value, array_flip($unchecked_cols));
            $tem_array[$key] = $value;
        }

这是代码,我尝试使用 toArray 方法将“未经检查的 cols”转换为数组,但后来我得到: 在数组上调用成员函数 toArray() 错误。 遇到这种情况该怎么办。

【问题讨论】:

    标签: php arrays laravel object


    【解决方案1】:

    要将对象转换为数组,您可以在对象前添加(array)

    $unchecked_cols = array_diff($selected_table_cols,$selected_cols);
    $tem_array = [];                    
    foreach ($selected_table_data as $key => $value) {
         $value =array_diff_key((array)$value, array_flip($unchecked_cols));
         $tem_array[$key] = $value;
    }
    

    【讨论】:

    • 谢谢!!!它奏效了......我尝试了很多其他的东西,但我没有想到......
    • 很高兴听到这个消息!
    猜你喜欢
    • 2014-11-28
    • 2016-03-14
    • 2019-11-15
    • 2019-09-18
    • 2015-04-23
    • 2017-06-30
    相关资源
    最近更新 更多