Есть несколько строк их нужно разбить проверить и соединить
Пример
Характеристики|Регулирование мощности, до|100.0(%)
Характеристики|Тип котла|Пиролизный
Характеристики|Вид топлива|Твердое
Проблема в том что из нескольких таких строк нужно соединить в одну
Пример
Характеристики|Регулирование мощности, до|100.0(%):300 %:600%
Характеристики|Тип котла|Пиролизный:Буржуйский:Обычный
Характеристики|Вид топлива|Твердое:Мягкое:Твердое
Что и как
Характеристики| - всегда одинаково и присутствует в каждой строке Регулирование мощности, до - Название характеристики называются одинаково но могут находится то на 5 строке, а то и на 2 100.0(%) - значение строки всегда разные и нужно собрать и разделить :
Каждый блок строк берем из разных массивов
$one_post = $_POST['one'];
$two_post = $_POST['two'];
и так до 10 массивов
Я пытаюсь реализовать так все разбиваю Название характеристики перевожу в ключ потом сравниваю ключи и собираю все значения к ключу и получаю один общий блок.
// Парсим один массив строк
function parseStrings(&$data, $strings) {
// Пробегаем по всем строкам
foreach ($strings as $str) {
// Разбиваем строку по разделителю
$row = explode('|', $str);
// Первую часть отбрасываем, вторая будет ключом подмассива
if (!isset($data[$row[1]])) // если такого подмассива нет - создаем
$data[$row[1]] = [];
// добавляем значение в нужный массив характеристик
$data[$row[1]][] = $row[2];
}
}
$strings1 = [
"Характеристики|Регулирование мощности, до|100.0(%)",
"Характеристики|Тип котла|Пиролизный"
"Характеристики|Вид топлива|Твердое"
];
$strings2 = [
"Характеристики|Регулирование мощности, до|300.0(%)",
"Характеристики|Тип котла|Обычный"
"Характеристики|Вид топлива|Мягкое"
];
$data = [];
// Парсим каждый из массивов и собираем все в $data
parseStrings($data, $strings1);
parseStrings($data, $strings2);
$res = []; // конечный массив строк
// цикл по всем характеристикам.
// $name - название, $vals - массив всех значений
foreach($data as $name => $vals) {
// Формируем новую строку
$res[] = 'Характеристики|' . $name . '|' . implode(':', $vals);
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости