【发布时间】:2015-02-13 07:19:45
【问题描述】:
我有一个php字符串如下:
$mystr ="f7_r11 f1_r2 f1_r19 f7_r10";
如您所见,有些 id 用“f”表示,这些是顶级,有些 id 用“r”表示,这些是子级
我需要将它分解为一个数组,包括唯一的顶级 (f) 包含子级别 (r) 完全一样:
Array
(
[0] => Array
(
[f_id] => 7
[r_ids] => Array
(
[0] => Array
(
[r_id] => 11
)
[1] => Array
(
[r_id] => 10
)
)
)
[1] => Array
(
[f_id] => 1
[r_ids] => Array
(
[0] => Array
(
[r_id] => 2
)
[1] => Array
(
[r_id] => 19
)
)
)
)
我尝试了一些 php 代码:
$explode = explode(" ", $mystr);
$unique = array_unique($explode);
$array= array_values($unique);
但最终输出不是我想要的!谁能帮帮我?
【问题讨论】:
-
详细说明您将如何逐步手动执行此操作。然后将给定的算法转换成代码。
-
如果你有 f7_r11_rxx f1_ryy_rzz 会很容易,你可以拆分并有一个简单的工作模式
-
@Marco Mura:您的序列化与 OP 的序列化没有区别。您可以在 3 行之间进行转换。
-
@zerkms 不是那 3 行代码吗?
-
@Marco Mura:我不会免费为 OP 实现 2 种算法(它不会以任何方式帮助他们)。但很明显格式是相似的。