Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Выполнение функций по каждому эл. массива

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Нуб-2
Отправлено: 17 Сентября, 2017 - 03:32:16
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Апр. 2013  


Помог: 0 раз(а)

[+]


Доброго времени суток.
Есть массив, который я получаю из функции вида с несколькими значениями (1,2,3,4,5).

Как мне применить к каждому значению несколько функций? Что-то не получается так:
(скрин дичи ниже)

PHP:
скопировать код в буфер обмена
  1. for ($i = 0; $i <= count($kek); $i++) {
  2.     $steamIdFromForm = $kek[$i];
  3.  
  4.     list($statVisits, $statFavs, $statGuideCreate, $statGuideUpdate) = statLoad($steamIdFromForm);
  5.     $pagename = page_title($steamIdFromForm);
  6.     list($dbVisits, $dbFavs) = loadOldData($steamIdFromForm);
  7.     $dbAdd = addToDB($steamIdFromForm, $statVisits, $statFavs, $pagename, $statGuideCreate, $statGuideUpdate);
  8.  
  9.     $newVisits = $statVisits - $dbVisits;
  10.     $newFavs = $statFavs - $dbFavs;
  11.     $answer = array(
  12.         "ID руководства:" => $steamIdFromForm,
  13.         "Название руководства:" => "<a href=$configGuideStandartLink$steamIdFromForm>$pagename</a>",
  14.         "Дата создания руководства: " => "$statGuideCreate",
  15.         "Дата последнего обновления: " => "$statGuideUpdate",
  16.         "Всего просмотров руководства:" => "$statVisits (+<b>$newVisits</b>)",
  17.         "Всего добавлений в избранное:" => "$statFavs (+<b>$newFavs</b>)"
  18.     );
  19.     new dBug($answer);
  20.     unset($steamIdFromForm);
  21.     unset($statVisits);
  22.     unset($statFavs);
  23.     unset($statGuideCreate);
  24.     unset($statGuideUpdate);
  25.     unset($pagename);
  26.     unset($steamIdFromForm);
  27.     unset($dbVisits);
  28.     unset($dbFavs);
  29.     unset($newVisits);
  30.     unset($newFavs);
  31.     unset($answer);
  32. }
  33.  

Прикреплено изображение (Нажмите для увеличения)
Снимок экрана 2017-09-17 в 3.37.10.png

(Отредактировано автором: 17 Сентября, 2017 - 03:39:36)

 
 Top
Vladimir Kheifets
Отправлено: 17 Сентября, 2017 - 09:50:07
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 37 раз(а)




Нуб-2 пишет:
Доброго времени суток.
Есть массив, который я получаю из функции вида с несколькими значениями (1,2,3,4,5).

Как мне применить к каждому значению несколько функций? Что-то не получается так:
(скрин дичи ниже)

Спойлер (Отобразить)


Доброе утро!
Советую Вам для начала посмотреть содержимое массивов, которые выдают функции.
Обратите внимание на предупреждение на http://php.net/manual/ru/function.list.php
Цитата:
Внимание
В PHP 5 list() присваивает значения начиная с самого правого. В PHP 7 list() - с самого левого.
Если вы используете обычные переменные, можете не думать об этом, но, если вы используете массивы с индексами, вы ожидаете, что порядок элементов в массиве будет ровно таким, как вы его определили в list(), слева направо, но в PHP 5 вы получите обратный порядок.
Вообще говоря, желательно не полагаться на конкретный порядок операций, так как будущем это поведение может быть изменено.

(Отредактировано автором: 17 Сентября, 2017 - 09:50:57)

 
 Top
Нуб-2
Отправлено: 17 Сентября, 2017 - 19:11:27
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Апр. 2013  


Помог: 0 раз(а)

[+]


Vladimir Kheifets пишет:
Нуб-2 пишет:
Доброго времени суток.
Есть массив, который я получаю из функции вида с несколькими значениями (1,2,3,4,5).

Как мне применить к каждому значению несколько функций? Что-то не получается так:
(скрин дичи ниже)

Спойлер (Отобразить)


Доброе утро!
Советую Вам для начала посмотреть содержимое массивов, которые выдают функции.
Обратите внимание на предупреждение на http://php.net/manual/ru/function.list.php
Цитата:
Внимание
В PHP 5 list() присваивает значения начиная с самого правого. В PHP 7 list() - с самого левого.
Если вы используете обычные переменные, можете не думать об этом, но, если вы используете массивы с индексами, вы ожидаете, что порядок элементов в массиве будет ровно таким, как вы его определили в list(), слева направо, но в PHP 5 вы получите обратный порядок.
Вообще говоря, желательно не полагаться на конкретный порядок операций, так как будущем это поведение может быть изменено.



хмм, ваша ссылка ничем не помогла, если честно. Аналогичный кусок кода с листами работает спокойно в другом месте
 
 Top
Строитель Модератор
Отправлено: 17 Сентября, 2017 - 20:19:25
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




Нуб-2, ну так в чём проблема? Там где NULL проверяйте соответствующую переменную, почему в неё приходит null; Там где Array - обрабатывайте переменную как массив, или объединяйте элементы массива в строку.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB