Тернарник что-то возвращает без 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>";  
}


Ответы (0 шт):