У меня есть исходный массив, в цикле foreach () будет создан новый массив на основе некоторого поля исходного массива. И, наконец, функция вернет новый массив.
function get_role_info() {
$source_array = array(
'role1' => array(
'name' => 'Eric',
'age' => '30',
'gender' => 'male'
),
'role2' => array(
'name' => 'Emily',
'age' => '27',
'gender' => 'female'
)
......
);
foreach ($source_array as $role_name => $role) {
$new_info= array();
$new_info['role-name'] = $role_name;
$new_storage['user-name'] = $role['name'];
...... //other filters
$newinfo[] = $new_info;
}
return $newinfo;
}
Вызов этой функции значительно увеличит загрузку процессора.
Если я изменю foreach на цикл for
for ($i=0; $i<$cnt; $i++) {
....... // same logic to filter fields
}
Загрузка ЦП снизится ...
Я не уверен, в чем различия между этими двумя?
Если я просто распечатаю новый массив и не верну его, процессор тоже не вырастет.
У кого-нибудь есть какие-то подсказки по этому поводу? Thx.