0
编辑:感谢@Felix Kling和@mario指向我指定的捕获组和PREG_SET_ORDER
,我今天完全学到了一些东西。有效转换阵列(PHP)
虽然我很好奇算法本身。所以请只假装没有preg_match()
参与。
编辑2:抽象问题
在这里回答另一个问题时,我偶然发现的事实,我对转向
验证码:
Array
(
[0] => Array (
[0] => 1
[1] => 3
)
[1] => Array (
[0] => Description text
[1] => Different Description text
)
[2] => Array (
[0] => 123.456.12
[1] => 234.567.89
)
[3] => Array (
[0] => 10.00
[1] => 10.00
)
[4] => Array (
[0] => 10.00
[1] => 30.00
)
)
成:
Array
(
[0] => Array
(
[qty] => 1
[description] => "Description text"
[sku] => 123.456.12
[price] => 10.00
[total] => 10.00
)
…
)
是的fugly:
$field_names = array('qty', 'description', 'sku', 'price', 'total');
$result_arr = array();
$num_iter = count(matches[0]);
for ($i = 0; $i < $num_iter; $i++) {
foreach ($field_names as $index => $field_name) {
$result_arr[$i][$field_name] = array_shift($input_arr[$index]);
}
}
任何改进的建议?
也许使用命名捕获组更容易... –
而'PREG_SET_ORDER'可能会有所帮助。 – mario
当然,如果你不想要实际的解决方案,这属于codereview.SE或codegolf.SE? (这不是一个坏问题) –