Тернарник что-то возвращает без return
Мне сказали, что тернарик:
(is_array($replace[$key]) ? implode(', ', $replace[$key])
в коде ниже что-то возвращает, но я не могу понять, что он возвращает. Ведь в тернарнике нет return.
Я даже не знал, что тернарики могут что-то возвращать.
Я думал, что тернарник это аналог if/else, ведь if/else ничего не возвращает.
Тернарник это как функция с return ?
Как понять, когда тернарник что-то возвращает, а когда нет?
$Values = [
"name" => "Ваше имя: <div class='user'> Введите имя </div>",
"age" => "Ваш возраст: <div class='age'> Укажите свой возраст </div>",
"from" => "Откуда вы: <div class='from'> Напишите откуда вы </div>",
"colors" => ["Ваш любимый цвет: <div class='colors'> Вы не указали свой любимый цвет </div>"],
"lessons" => ["Выберите курсы: <div class='lessons'> Вы не выбрали ни одного курса </div>"],
"comment" => "Ваш комментарий: <div class='comment'> Без комментариев </div>",
];
$search = [
"name" => "Введите имя",
"age" => "Укажите свой возраст",
"from" => "Напишите откуда вы ",
"colors" => ["Вы не указали свой любимый цвет"],
"lessons" => ["Вы не выбрали ни одного курса"],
"comment" => "Без комментариев",
];
$replace = [
"name" => "1",
"age" => "2",
"from" => "3",
"colors" => ["4", "5", "6"],
"lessons" => ["7", "8", "9"],
"comment" => "10",
];
foreach($Values as $key => $items){
echo "<div class='block'>";
if(is_array($items)){
foreach($items as $child){
// ****** тернарник ниже из функции str_replace что-то возвращает без return ******
$items = str_replace($search[$key], (is_array($replace[$key]) ? implode(', ', $replace[$key]) : $replace[$key]), $child);
}}
echo $items = str_replace($search[$key], $replace[$key], $items);
echo "</div>";
}