这是我的字符串,我希望它转换为2D数组。
mail@mail.com;"Hi ;John";man;405089;
mail@mail.net;Hi Sarah;woman;405089;
我想从中创建数组。我编写了这段代码:
$ret = array_map (
function ($_) {return explode (',', $_);},
explode (';', $data)
);
因此,而不是','将是';'而不是';'会是'\ n',对吧?
但它还没有正常工作。如果再看一遍,就会有“嗨; John”..
我想让这段代码忽略“”中的所有内容,因为有一个分号。
答案 0 :(得分:4)
答案 1 :(得分:4)
首先删除“之间的字符”,然后运行您的函数。以下是从您的字符串中删除"Hi ; John"
的一行代码:
$result = preg_replace('/\".*?\"/', '', $subject);
\"
字面匹配字符"
.*?
匹配任何字符(换行符除外),量词:*?
在零和无限次之间,尽可能少,根据需要展开[懒惰] \"
字面匹配字符"