@kr_ilya

Как добавить значение в массив при переборе его в foreach?

Приветствую, имеется 2 массива, которые нужно перебрать и сравнить их некоторые значения. Если значение первого = значению второго, то нужно записать в первый массив новое значение, под новым ключом (type). Пробовал по разному, никак не могу сообразить.

Такой вариант возвращает

Illegal offset type in

$oneArray = [['1' => 'a', '2' => 'b']];
		$twoArray = [['qq' => 'q', 'bb' => 'b']];

		foreach ($oneArray as $one) {
			foreach ($twoArray as $two) {

				if($one['2'] == $two['bb']){
					$oneArray[$one]['type'] = 'b';
				}else{
					$oneArray[$one]['type'] = 'c'
				}

			}
		}

//должно получиться
		$oneArray = [['1' => 'a', '2' => 'b', 'type' = 'b']];
  • Вопрос задан
  • 126 просмотров
Решения вопроса 1
@Dubrovin
$oneArray = [[ '1' => 'a', '2' => 'b' ]];
$twoArray = [[ 'qq' => 'q', 'bb' => 'b' ]];

foreach ( $oneArray[] as $one ) {
	foreach ( $twoArray[] as $two ) {
		if( $one === $two ){
			$oneArray[]['type'] = $one;
		}
	}
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
Бюро Цифровых Технологий Санкт-Петербург
от 120 000 до 180 000 ₽
03 мая 2024, в 18:59
2500 руб./за проект
03 мая 2024, в 18:52
15000 руб./за проект