Laravel 5 - 清除JSON数组中的对象?

时间:2016-08-18 17:00:24

标签: php laravel laravel-5

我将这个JSON传入控制器方法:

$data = $request->get('data');
// output
// [{"key": "  Needs Trim  ", "value": "Two"}, {"key": "", "value": "empty key"}]

它是一个对象数组,我需要在将它插入数据库表之前将其清除:

  • 修剪键/值(第一个对象)中的前导/尾随空格
  • 从数组(第二个对象)中删除任何带有空键或值的对象

因此,清理对象数组后的最终结果如下所示:

[{"key": "Needs Trim", "value": "Two"}]

我查看了laravel的数组辅助函数,但是我似乎无法在花费数小时后获得所需的输出。它需要不同的格式,它们的示例显示嵌套数组而不是对象...

知道怎么做到这一点吗?

1 个答案:

答案 0 :(得分:1)

试一试:

$data = json_decode('[{"key": "  Needs Trim  ", "value": "Two"}, {"key": "", "value": "empty key"}]');

foreach ( $data as $key => $el ) {
    foreach ( $el as $valKey => $val ) {
        if ( empty($val) ) {
            unset($data[$key]);
        } else {
            $el->$valKey = trim($val);
        }
    }
}