如何将字符串转换为数组?

时间:2017-10-08 07:12:06

标签: php arrays regex string object

我有一个这样的字符串:

$str = '[{"file_id":"AgADBAADX6oxGyqs0FJLW3rZ3g6_fDnO-RkABB0pg6HTwdv7EqUBAAEC","file_size":1347,"file_path":"photos\/file_2.jpg","width":90,"height":75},{"file_id":"AgADBAADX6oxGyqs0FJLW3rZ3g6_fDnO-RkABIMbRhad2WVdE6UBAAEC","file_size":17588,"width":320,"height":265},{"file_id":"AgADBAADX6oxGyqs0FJLW3rZ3g6_fDnO-RkABHSo-WKlRRfBEaUBAAEC","file_size":18480,"width":330,"height":273}]';

如何访问其中的项目?

我可以使用正则表达式来选择它们,例如/"file_id":"(.*?)"/。但那根本不干净。是否有任何方法可以在上面创建一个字符串数组(或对象)?

2 个答案:

答案 0 :(得分:3)

这是一个json字符串 您需要使用json_decode对其进行解码 第二个参数(true)是使它成为一个数组。

$str = '[{"file_id":"AgADBAADX6oxGyqs0FJLW3rZ3g6_fDnO-RkABB0pg6HTwdv7EqUBAAEC","file_size":1347,"file_path":"photos\/file_2.jpg","width":90,"height":75},{"file_id":"AgADBAADX6oxGyqs0FJLW3rZ3g6_fDnO-RkABIMbRhad2WVdE6UBAAEC","file_size":17588,"width":320,"height":265},{"file_id":"AgADBAADX6oxGyqs0FJLW3rZ3g6_fDnO-RkABHSo-WKlRRfBEaUBAAEC","file_size":18480,"width":330,"height":273}]';


$arr = json_decode($str, true);
Var_dump($arr);

https://3v4l.org/9BFIC

答案 1 :(得分:-1)

爆炸(“,{”,$ str);将为上述工作。

您将获得每个文件的数组值。