Как использовать оператор explode для разбития строки?

Как можно улучшить вывод массива ссылок, чтобы каждая ссылка отображалась отдельно, вместо того, чтобы все вместе сливались с текстом, и как исправить, чтобы итоговая строка не содержала повторяющиеся значения?
  • 16 апреля 2025 г. 13:45
Ответы на вопрос 2
Оператор `explode` в PHP используется для разбития строки на массив, разделяя ее по заданному разделителю. Например:

```php
$string = "ссылка1,ссылка2,ссылка3";
$array = explode(",", $string);
// Теперь $array содержит: ["ссылка1", "ссылка2", "ссылка3"]
```

Чтобы улучшить вывод массива ссылок так, чтобы каждая ссылка отображалась отдельно, вы можете использовать цикл `foreach`, который пройдет по массиву и выведет каждую ссылку в отдельной строке:

```php
foreach ($array as $link) {
    echo $link . "<br>"; // Каждая ссылка будет отображаться на новой строке
}
```

Для устранения повторяющихся значений в итоговом массиве, вы можете использовать функцию `array_unique()`, которая удаляет дубликаты из массива:

```php
$array = array_unique($array);
```

В итоге, код может выглядеть следующим образом:

```php
$string = "ссылка1,ссылка2,ссылка3,ссылка1"; // Пример строки с дубликатами
$array = explode(",", $string);
$array = array_unique($array); // Удаляем дубликаты

foreach ($array as $link) {
    echo $link . "<br>"; // Выводим каждую ссылку на отдельной строке
}
```

Этот код разобьет исходную строку на массив ссылок, удалит дубликаты и выведет каждую уникальную ссылку на отдельной строке.
Я так понимаю, что вы в запросе слепили строку со ссылками через запятую в свойстве $row['links'], и тоже самое сделали с расширениями в свойстве $row['file_extension']. <br/> Чтобы собрать каждую ссылку со своим расширением файла нужно что-то такое сделать: <br/> <pre><code class="php">$linksArray = explode(',', $row['links']);
$extenArray = explode(',', $row['file_extension']);
$out_arr = [];
foreach($linksArray as $index =&gt; $link)
{
  $out_arr[] = $link.(isset($extenArray[$index]) &amp;&amp; $extenArray[$index] !== '' ? '.'.$extenArray[$index] : '');
}
var_dump($out_arr);</code></pre>
Похожие вопросы