Задать вопрос
@Ambrel

Как будет быстрее? Или как будет лучше?

У меня есть вот такой код:

foreach ($arr as $value) {
		$numbers[$value['one']]++;
		$numbers[$value['two']]++;
		$numbers[$value['tree']]++;
		$numbers[$value['four']]++;
		$numbers[$value['five']]++;
	}


Будет ли быстрее ? Или будет ли лучше сделать вот так:

$for_numbers = ['one', 'two', 'tree', 'four', 'five'];

foreach ($arr as $value) {

		foreach($for_numbers as $val_numbers) {
			$numbers[$value[''.$val_numbers.'']]++;
		}
		
	}
  • Вопрос задан
  • 122 просмотра
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
amux
@amux
alp.ac
Отвечая на ваш вопрос:
foreach ($arr as $value) {
    ++$numbers[$value['one']];
    ++$numbers[$value['two']];
    ++$numbers[$value['tree']];
    ++$numbers[$value['four']];
    ++$numbers[$value['five']];
}


Преинкремент работает на ~10% быстрее так как ему не нужно хранить лишнюю переменную.
Ответ написан
Комментировать
@galliard
foreach ($arr as $value) {
    foreach ($value as $valueNum) {
        $numbers[$valueNum]++;
    }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽