php - 根据 4 个不同的分隔符将字符串分解为多维数组,这些分隔符表示级别如何分隔

标签 php arrays string explode delimited

我想用不同类型的字符分解一个字符串。

我已经知道如何 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()

demo

关于php - 根据 4 个不同的分隔符将字符串分解为多维数组,这些分隔符表示级别如何分隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20677779/

相关文章:

php - 如何修复此 symfony 权限错误?

将字符串中的双引号更改为单引号的 PhpStorm 函数

c# - 将字节数组转换为数字字符串 [c#]

php - JQuery 日期选择器行为

php - 这个运算符 '??' 如何在 php 代码中工作?

javascript 在数组中设置属性

php - JavaScript 数组 : adding entries

php - 在 PHP 中将数字序列转换为数组

c++ - std::string的大小是否总是打印字符的数量?

php - 使用 foreach 连接字符串