【发布时间】:2010-08-02 11:57:09
【问题描述】:
我正在尝试从一个字符串创建一个多维数组(从 $_GET 接收,输入经过验证,但在此示例中没有)。每个“-”表示多维数组中的一个级别。
值可以是这样的(实际上是任何形式,只要键之间存在“-”)。值数组可以映射到多维数组中的任意深度。
$array = array(
'page-title' => 'Title of a page',
'page-url' => 'http://www.mypage.com',
'meta-page-author' => 'Some guy',
'meta-page-created' => 'some timestamp'
);
我尝试了不同的解决方案,但到目前为止唯一有效的是初始循环和密钥提取。
foreach ($array as $key => $value) {
if (strpos($key, '-') !== false) {
$keyArray = explode('-', $key);
// ??
}
}
我希望的输出应该是这样的:
array(
'page' => array(
'title' => 'Title of a page',
'url' => 'http://www.mypage.com'
),
'meta' => array(
'page' => array(
'author' => 'Some guy',
'created' => 'some timestamp'
)
)
);
【问题讨论】:
-
为什么不完全摆脱这种解析,而是发送一个数组本身呢?当然是序列化或 json_encoded
-
数据需要使用 1x1 图像从 3rd 方站点捕获。所以我需要使用较小的变量来做到这一点。不过,如果它符合我的要求,我可能会接受 cHao 的数组建议。
标签: php multidimensional-array