Laravel 5.2 - 将json键值转换为数组

时间:2017-06-26 22:54:47

标签: php arrays json laravel-5.2

我有以下json对象:

{"keywords": "foo", "industries":"1,37","contractTypes":"1"}

如何将以下键值转换为数组,如下所示:

{"keywords": "foo", "industries": ["1", "37"], "contractTypes": ["1"]}

所以基本上我想遍历对象,如果属性industriescontractTypes存在而不是空,那么将值转换为数组。

1 个答案:

答案 0 :(得分:2)

  • 定义要转换为数组的属性列表

    $array_properties = ['industries', 'contractTypes'];
    
  • 解码JSON

    $object = json_decode($json);
    
  • 迭代您定义的属性,并将每个属性转换为对象上存在的数组。

    foreach ($array_properties as $property) {
        if (isset($object->$property)) {
            $object->$property = explode(',', $object->$property);
        }
    }
    
  • 如果需要,您可以在以后将对象重新编码为JSON。

    $object = json_encode($object);
    
  • 赚钱