我收到这个数据数组,我必须相应地构建它:
$data = array(
'field-492396-label' => 'Field',
'field-492396-default' => 'b',
'field-885143-label' => 'Another Field',
'field-885143-default' => 'a',
);
正如您所看到的,每个输入都有一个" custom"我希望通过以下方式订购。
我已经获得了这个正常工作的代码,可以按照我的要求生成代码,但我正在寻找/是否有更有效的方法:
$new = array();
foreach($data as $key => $value) {
if (strpos($key,'field-') !== false) {
list($lister, $id, $field) = explode('-', $key);
if(!isset($new[$id])) $new[$id] = array('id' => $id);
$new[$id][$field] = $value;
}
}
Working Demo
是否有更有效的方法来完成此操作并创建新阵列?我正在寻找的结构是:
Array
(
[492396] => Array
(
[id] => 492396
[label] => Field
[default] => b
)
.....
)