X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Работа с данными вне цикла
bo4kov
bo4kov
Topic Starter сообщение 15.5.2015, 16:18; Ответить: bo4kov
Сообщение #1


Здравствуйте, возникла одна проблема с работой многомерного массива и циклом.

В общем есть многомерный ассоциативный массив ($arr):

$arr = Array (
[0] => Array
(
[id] => 12
[title] => Видео
)

[1] => Array
(
[id] => 3
[title] => Книги
)

И мне нужно достать id и записать их в строку такого вида - 12,3.

В общем я перебираю массив с помощью цикла foreach:

$cat = '';
foreach($arr as $item){
$cat = $item['id'];
echo $cat;
}

В данном случае все работает.
Но мне нужно $cat передать в функцию:

category($cat);

Но в функцию передается только значение первого элемента массива (12).
Так как сделать, чтобы в функцию передавались все значения (12,3)?
Я думаю не правильно будет помещать вызов функции во внутрь цикла? 
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
kamchatniyoleg
kamchatniyoleg
сообщение 15.5.2015, 17:11; Ответить: kamchatniyoleg
Сообщение #2



$cat = array();

foreach($arr as $item){
$cat[] = $item['id'];
}

$cat = implode(',', $cat);

category($cat);

Вот.


Сообщение отредактировал kamchatniyoleg - 15.5.2015, 17:11
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ShowPrint
ShowPrint
сообщение 15.5.2015, 17:11; Ответить: ShowPrint
Сообщение #3


Или я что-то не понимаю, или Вы в $cat не формируете строку для передачи в функцию...  :blink:
То, что я вижу в коде - это последовательное присвоение значения и его вывод, для записи в строку в таком виде как Вам нужно, наверное надо делать как-то так:

$cat .= $item['id'];

или сразу с разделителями:$cat .= ($item['id'].",");Но в этом случае в конце строки будет тоже стоять запятая... Которую потом можно будет "обрезать"... Или проверять достижение конца цикла...
Надо понимать возможные вариации id - если это просто числа, то я бы наверное в качестве разделителя взял пробел и по окончанию цикла "оттримил" бы её... Если надо - потом можно заменить пробелы на запятые  ;)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
kamchatniyoleg
kamchatniyoleg
сообщение 15.5.2015, 17:19; Ответить: kamchatniyoleg
Сообщение #4


ShowPrint, что бы не повторялась запятая - изучите мой комент!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ShowPrint
ShowPrint
сообщение 15.5.2015, 17:19; Ответить: ShowPrint
Сообщение #5


kamchatniyoleg, предложил более изящный вариант...

Уже...  :D Мы с Вами одновременно пишем в тему...  B)


Сообщение отредактировал ShowPrint - 15.5.2015, 17:21
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
bo4kov
bo4kov
Topic Starter сообщение 15.5.2015, 17:32; Ответить: bo4kov
Сообщение #6


Спасибо всем, сделал как сказал kamchatniyoleg, все работает.


Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Сколько стоит работа по монтажу видео для Youtube?
2 CrypTomera 2308 15.3.2025, 23:45
автор: AmlXe
Открытая тема (нет новых ответов) Работа тестировщиком - какие доходы?
11 uahomka 3861 4.2.2025, 11:30
автор: Skyworker
Открытая тема (нет новых ответов) Базы Youtube кейвордов с данными по конкуренции и Volume
12 Krok 3993 22.6.2024, 5:17
автор: Krok
Открытая тема (нет новых ответов) Нужна работа
0 filatd 1245 12.1.2024, 17:08
автор: filatd
Открытая тема (нет новых ответов) Работа: Разная рутина
Работа, разные рутинные задачи: постинг / переговоры / поиск
1 ivanshargin 1521 31.10.2023, 17:55
автор: ServersExpert


 



RSS Текстовая версия Сейчас: 27.4.2025, 10:28
Дизайн