Прошу помощи решить данную проблему.
Есть две строки, пример:
1) Строка с путями к картинкам (разделенные запятыми):
images/img1.jpg,images/img2.jpg,images/img3.jpg
2) Строка с названиями картинок (разделенные запятыми):
img-name1,img-name2,img-name3
Как провести слияние, чтобы получить следующее:
images/img1.jpg||img-name1,images/img2.jpg||img-name2,images/img3.jpg||img-name3
Вот что пришло в голову первым:
<?php
$str1 = 'images/img1.jpg,images/img2.jpg,images/img3.jpg';
$str2 = 'img-name1,img-name2,img-name3';
$arr1 = explode(',', $str1);
$arr2 = explode(',', $str2);
$finish_arr = array();
for($i=0; $i<count($arr1);$i++){
$finish_arr[$i] = $arr1[$i].'|'.$arr2[$i];
}
$finish_str = implode(',', $finish_arr);
print_r($finish_str);
?>
С начало с помощью метода explode создаем массив из строки.
Потом пройдя по циклу, прикрепляем значение двух массивов. А в конце делаем обратное с помощью метода implode.
С учётом того, что название картинок не меняется:
$images = explode(",", "images/img1.jpg,images/img2.jpg,images/img3.jpg");
$result = array_reduce($images, function($result, $image) {
$imageNumber = filter_var($image, FILTER_SANITIZE_NUMBER_INT);
return $result .= sprintf("%s||img-name%s,", $image, $imageNumber);
});
$result = rtrim($result, ',');
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости