我有一个用"|"分隔的数组。我想做的是用这个标识符来分隔它。
阵列如下:-
myid1|My Title|Detailed Description
myid2|My Title|Second Row Description
myid3|My Title|Third row description
我所做的只是在上面使用explode
来获得我想要的结果。
$required_cells = explode('|', $bulk_array);
但问题是,只有我的第一个数组被正确地分解了,下一个数组的下一个第一个单元格由于"新行"而混合在一起。因此我不能只使用爆炸。
为了获得如下连续数组单元格中的上部数组,我使用了以下代码:-(在这个线程的帮助下)
Array
(
[0] => myid1
[1] => My Title
[2] => Detailed Description
myid2
[3] => My Title
[4] => Second Row Description
myid3
[5] => My Title
[6] => Second Row Description
)
工作代码:-
$str = "myid1|My Title|Detailed Description
myid2|My Title|Second Row Description
myid3|My Title|Third row description";
$newLine = (explode("'n", $str));
$result = array_map(function($someStr) {
return explode("|", $someStr);
}, $newLine);
print_r($result);
这很好,但后来问题出现了。此代码在PHP 5.4.10版本中运行良好,但在PHP 5.2.14版本中出现以下错误。我的开发服务器是5.4.10,不幸的是,我的生产服务器是5.2.14,因此我需要解决这个问题。错误如下:-
分析错误:语法错误,意外的T_FUNCTION,在page.php的第310行中应为")"
你需要爆炸两次!
$result=array();
$lines=explode("'n", $str);
foreach ($lines as $line)
$result[]=explode('|', $line);
或者只停留在一个维度:
$result=array();
$lines=explode("'n", $str);
foreach ($lines as $line)
$result=array_merge($result,explode('|', $line));