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? (這不是一個壞問題) –