Замена подстрок значениям вложенных массивов на значения из другого массива

Цикл ниже выводит значения из массива $defaultValues, в этом массиве есть 2 вложенных массива это "colors" и "lessons".

А также этот цикл берет значения подстрок из массива $search и заменяет их на значения из массива $replace.

Вопрос таков: Как заменить значения двум вложенным массивам "colors" и "lessons" в $defaultValues на значения: "colors"=>["4", "5", "6"] и "lessons"=>["7", "8", "9"] из $replace"

Я не могу понять как это сделать, данный мой код выводит такое:

Ваше имя: 1
Ваш возраст: 2
Откуда вы: 3
Ваш любимый цвет: 4
Выберите курсы: 7
Ваш комментарий: 10

А хотелось бы, чтобы код выводил это:

Ваше имя: 1
Ваш возраст: 2
Откуда вы: 3
Ваш любимый цвет: 4,5,6
Выберите курсы: 7,8,9
Ваш комментарий: 10

$defaultValues = [
"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($defaultValues as $key => $items){
echo "<div class='block'>";
 
if(is_array($items)){
foreach($items as $child){
$items = str_replace($search[$key], $replace[$key], $child);
}}
 
echo $items = str_replace($search[$key], $replace[$key], $items);   
 
echo "</div>";  
}


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