我想用不同类型的字符分解一个字符串。
我已经知道如何 explode 字符串,我也想我知道如何在不同的级别上做到这一点。
如何使用其中一个值作为名称 ($var['name']) 而不是数字 ($var[0])?
我只知道如何在数组中手动执行此操作,但不知道如何使用变量添加它。
总之,我想要这个字符串:
title:hello;desc:message|title:lorem;desc:ipsum;ids:1,2,3
成为这个数组:
[
[
'title' => 'hello',
'desc' => 'message',
],
[
'title' => 'lorem',
'desc' => 'ipsum',
'ids' => ['1', '2', '3'],
],
]
编辑: 我取得了一些进展,但还没有完全完成。
<?php
$string = "title:hello;desc:message|title:lorem;desc:ipsum;ids:1,2,3";
$string = explode("|", $string);
foreach($string as $split){
$split = explode(";", $split);
foreach($split as $split2){
$split2 = explode(":", $split2);
// more code..
}
}
现在我需要 $split2[0] 作为名称,$split2[1] 作为值,就像前面的示例一样。
最佳答案
为什么不直接使用 json_encode()/json_decode()
或 serialize()/unserialize()
?
关于php - 根据 4 个不同的分隔符将字符串分解为多维数组,这些分隔符表示级别如何分隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20677779/