Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP foreach是数据字符串的集合_Php - Fatal编程技术网

PHP foreach是数据字符串的集合

PHP foreach是数据字符串的集合,php,Php,我有一个字符串包含多个块数据字符串,我想将它们中的每一个解析为一个单独的文件 下面是字符串的一个示例: [ ['test', 'lol'], ['test2', 'lol2'] ] [ ['test32', 'loDl'], ['test32', 'loDl2'] ] [ ['tes23t', 'loDEl'], ['testDE2', 'lolDE2'] ] 我想像这样改变一切 [ ['foo', 'bar'], ... ]

我有一个字符串包含多个
块数据
字符串,我想将它们中的每一个解析为一个单独的文件

下面是字符串的一个示例:

[
    ['test', 'lol'],
    ['test2', 'lol2']
]
[
    ['test32', 'loDl'],
    ['test32', 'loDl2']
]
[
    ['tes23t', 'loDEl'],
    ['testDE2', 'lolDE2']
]
我想像这样改变一切

[
    ['foo', 'bar'],
    ...
] 
排列

我尝试过的:使用explode和foreach

<?php
$list = "[
    ['test', 'lol'],
    ['test2', 'lol2']
]
[
    ['test32', 'loDl'],
    ['test32', 'loDl2']
]
[
    ['tes23t', 'loDEl'],
    ['testDE2', 'lolDE2']
]";
$arr = explode("\n", $list);
foreach ($arr as $value) {
   if($value == "]") {
    echo "accepted: $value newline<br>";
   } else {
    echo "refused: $value newline<br>";
   }
}
?>

那么,如何将每个
块数据
字符串解析为一个数组呢?谢谢

在结尾使用
preg_split

$list = file_get_contents('RN7rK');

$jsons = preg_split('/\]\s*(?=\[)/', $list, null);
foreach ($jsons as $json) {
    $json .= ']';
    print_r(json_decode($json));
}

在结尾处使用
preg\u split

$list = file_get_contents('RN7rK');

$jsons = preg_split('/\]\s*(?=\[)/', $list, null);
foreach ($jsons as $json) {
    $json .= ']';
    print_r(json_decode($json));
}

请阅读,这不是一个免费的编码或辅导服务,你必须表明你已经做出了一些努力来解决你自己的问题。只是一个小问题,这不是一个有效的JSON字符串。请更具体地说明此字符串的实际外观like@RiggsFollyPost edited请阅读,这不是免费的编码或教程服务,你必须表明你已经为解决自己的问题做出了一些努力。只是一个小问题,这不是一个有效的JSON字符串。请更具体地说明此字符串的实际外观like@RiggsFollyPost edited您的解决方案是有效的,但是如果像那样的
[“lol”,“xd”“haha”]
中的值的数量不起作用,那么我如何才能使它适用于任何数量的值呢?您能发布更多的示例吗,数字和单引号与双引号的关系这里有一个包含大量值PS的代码示例:我只需要10个第一个值,我知道这是一个有效的json,但在我拥有的字符串中有很多这样的字符串,所以我如何将它们分开,以生成大量有效的json?然后我将对foreach和json进行解码您的解决方案正在运行,但是如果像那样的
[“lol”,“xd”“haha”]
中的值的数量不起作用,那么我如何才能使它对任意数量的值起作用呢?您能发布更多的示例吗,数字和单引号与双引号的关系这里有一个包含大量值PS的代码示例:我只需要10个第一个值,我知道这是一个有效的json,但在我拥有的字符串中有很多这样的字符串,所以我如何将它们分开,以生成大量有效的json?然后我将对它们进行foreach和json解码