PHP — Каков наилучший способ добавить значение с существующим значением массива в PHP?

#php #arrays

#php #массивы

Вопрос:

Я использую следующий код для суммирования значения $x со всеми существующими значениями в массиве $arr :

 $arr = array(
   '0' => 2,
   '1' => 3
);

foreach( $arr as $key => $value ) {
   $arr[ $key ] = $arr[ $key ]   $x;
}
  

Но код слишком медленный, когда размер массива увеличивается, а время является фактом для конкретного приложения. Итак, мне интересно узнать, есть ли какой-либо другой альтернативный способ выполнения операции?

  • Спасибо

Комментарии:

1. Вы могли бы попробовать $key => amp;$value и $value = $x; . Не уверен, что это сильно изменит ситуацию.

Ответ №1:

Просто попробуйте это с помощью = . Это должно сделать это немного быстрее:

 $arr = array( '0' => 2, '1' => 3);

foreach( $arr as $key => $value ) {
   $arr[ $key ]  = $x;
}
  

Вы можете протестировать это здесь: введите описание ссылки здесь

Ответ №2:

С array_map() вы можете выполнять такого рода манипуляции;

 $arr = array(
   '0' => 2,
   '1' => 3
);

$x = 1;

$newArr = array_map(function($value) use ($x) {
    return $value   $x;
}, $arr);

print_r($newArr);
  

Приведет к:

 Array
(
    [0] => 3
    [1] => 4
)
  

Комментарии:

1. Улучшит ли это скорость?

2. Я думаю, что это быстрее, чем for / foreach , потому что array_map — это собственная функция php.