【发布时间】:2020-07-13 14:51:56
【问题描述】:
我需要引号内的字符串 [$str] 中的数据不被拆分。 在这种情况下,“会计公司”应该保持在一个字符串中,而不是分散。
<?php
$str =
'#PROGRAM "Accounting company" 98.2
#GENERATED 2020715 "SE"';
$data = explode("\n", $str);
foreach($data as &$value){
$value = preg_split("/\s+/", $value);
}
var_dump($data);
结果:
array(2) {
[0]=>
array(4) {
[0]=>
string(8) "#PROGRAM"
[1]=>
string(11) ""Accounting" // Unwanted split
[2]=>
string(8) "company"" // Unwanted split
[3]=>
string(4) "98.2"
}
[1]=>
&array(4) {
[0]=>
string(0) ""
[1]=>
string(10) "#GENERATED"
[2]=>
string(7) "2020715"
[3]=>
string(4) ""SE""
}
}
想要的结果:
array(2) {
[0]=>
array(4) {
[0]=>
string(8) "#PROGRAM"
[1]=>
string(18) ""Accounting company"
[2]=>
string(4) "98.2"
}
[1]=>
&array(4) {
[0]=>
string(0) ""
[1]=>
string(10) "#GENERATED"
[2]=>
string(7) "2020715"
[3]=>
string(4) ""SE""
}
}
【问题讨论】:
标签: php arrays split explode php-7.4