Как записать значение в ассоциативный массив, используя условие if?

Добрый день! Я в PHP формирую на основе одного ассоциативного массива новый массив с другими ключами, делаю это в цикле foreach. Дело вот в чем: я беру из массива значение, к примеру, 09:00/18:00 и моя задача в ячейку с ключом [startTime] положить значение до символа /, а в другой ключ [endTime] положить то, что после символа /. Черти как я поделила эту строку и вытащила значения, как встроить explode в мою запись не придумала. Но дело в том, что я могу получить из исходного массива как запись формата "09:00/18:00", так и такого "выходной", или вовсе пустую запись и мне перед записью значений в новый массив нужно бы это провести через ряд проверок с помощью if, попробовала, но в своей записи получила ошибку, что if тут не должно быть, значит не так нагородила. Подскажите, советом.
foreach($departments["rows"] as $key => $value) {
	$exitMassiv[] = [
		'type' => 'DEPOT',
		'coords' => $value['lng'].', '.$value['lat'],
		'workingSchedule' => [
			'workInHoliday' => false,
			'scheduleItems' => [
				['startDay' => 'MONDAY',
				'endDay' => 'MONDAY',
				'startTime' => if(strpos($value['worktime'][1], '/') !== false){strstr($value['worktime'][1], '/', true)}else{' ';},
				'endTime' => str_replace("/", "", strstr($value['worktime'][1], '/'))],
				['startDay' => 'FRIDAY',
				'endDay' => 'FRIDAY',
				'startTime' => $value['worktime'][5],
				'endTime' => $value['worktime'][5]],				
			]
		],				
	];
}

Или как я планировала не выйдет с точки зрения синтаксиса, и нужно потом уже через метод map обрабатывать/изменять значения этих ячеек?
  • Вопрос задан
  • 127 просмотров
Решения вопроса 1
@necrodeflorator
Используй тернарный оператор вместо ифа
$x = $y < 5 ? 'y меньше 5' : 'y не меньше 5'
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
scottparker
@scottparker
напишите перед заполнением нового массива условия и присвойте значения временным переменным, и потом эти переменные присвойте элементам массива.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы