Там какой-либо быстрый путь состоит в том, чтобы сгладить массив и избранные подразделы ('ключ '&'value' в этом случае), не выполняя цикл foreach, или foreach всегда является самым быстрым путем?
Array
(
[0] => Array
(
[key] => string
[value] => a simple string
[cas] => 0
)
[1] => Array
(
[key] => int
[value] => 99
[cas] => 0
)
[2] => Array
(
[key] => array
[value] => Array
(
[0] => 11
[1] => 12
)
[cas] => 0
)
)
Кому:
Array
(
[int] => 99
[string] => a simple string
[array] => Array
(
[0] => 11
[1] => 12
)
)
Попробуйте это:
$ret = array();
while ($el = each($array)) {
$ret[$el['value']['key']] = $el['value']['value'];
}
call_user_func_array ("array_merge", $ subarrays)
может использоваться для "сглаживания" вложенных массивов.
Вы хотите чего-то совершенно другого. Вместо этого вы можете использовать array_walk ()
с обратным вызовом для извлечения данных в желаемый формат. Но нет, цикл foreach все еще быстрее. В противном случае нет метода array _ *
для создания вашей структуры.