DomenForum.net

DomenForum.net (https://domenforum.net/index.php)
-   Программирование (https://domenforum.net/forumdisplay.php?f=26)
-   -   PHP: работа с массивами (https://domenforum.net/showthread.php?t=224076)

Port_Artur 01.04.2020 20:49

PHP: работа с массивами
 
Есть строки:

яблоко - хурма
виноград - яблоко
груша - персик
яблоко - груша

В цикле они присваиваются значению $x

for () {
...
}

Как разбить $x (эти строки) на элементы массива, сложить эти массивы, уникализировать значения (каждое только 1 раз) и вывести конечное содержимое через запятую, чтобы получилось:

(яблоко, хурма, виноград, груша, персик)

Вывести я смогу и сам, как сделать чтобы получился такой массив ?!

Помогите пожалуйста.

добавлено через 25 минут
Пробовал вот так:


for () {

$arrayx = array();
$arrays = explode(" ", $x);

}

Но получаются ассоциативные массивы, которые непонятно как сложить

с помощью array_merge не получилось

и непонятно как уникализировать.

UFO 02.04.2020 03:57

Вот эти функции могут помочь:
https://www.php.net/manual/ru/function.array-push.php - пример #1

http://www.php.su/array_unique - пример #2

И у Вас получается много маленьких массивчиков, можно использовать функцию https://www.php.net/manual/ru/function.list вместо кода:

Код:

$arrayx = array();
$arrays

Т.е. будет:
$arraynew= array();

for.... {

list($one, $two) = explode(....
array_push($arraynew, $one, $two);

}

Далее оставить уникальные.

cmsdev 02.04.2020 11:08

Код:

$arr_x = array('яблоко - хурма', 'виноград - яблоко', 'груша - персик', 'яблоко - груша');

$arr_end = array();
foreach ($arr_x as $x) {
  $arr_y = explode(' - ', $x);
  $arr_end = array_merge($arr_end , $arr_y);
}

$arr_end = array_unique($arr_end);
print_r($arr_end);


Port_Artur 02.04.2020 16:57

Спасибо всем за помощь.


Текущее время: 21:34. Часовой пояс GMT +4.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Техническая поддержка — DevArt.PRO. Перевод: zCarot.