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
Форумы портала PHP.SU :: Версия для печати :: Выполнение функций по каждому эл. массива
Форумы портала PHP.SU » » Вопросы новичков » Выполнение функций по каждому эл. массива

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

1. Нуб-2 - 17 Сентября, 2017 - 03:32:16 - перейти к сообщению
Доброго времени суток.
Есть массив, который я получаю из функции вида с несколькими значениями (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.  
2. Vladimir Kheifets - 17 Сентября, 2017 - 09:50:07 - перейти к сообщению
Нуб-2 пишет:
Доброго времени суток.
Есть массив, который я получаю из функции вида с несколькими значениями (1,2,3,4,5).

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

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


Доброе утро!
Советую Вам для начала посмотреть содержимое массивов, которые выдают функции.
Обратите внимание на предупреждение на http://php.net/manual/ru/function.list.php
Цитата:
Внимание
В PHP 5 list() присваивает значения начиная с самого правого. В PHP 7 list() - с самого левого.
Если вы используете обычные переменные, можете не думать об этом, но, если вы используете массивы с индексами, вы ожидаете, что порядок элементов в массиве будет ровно таким, как вы его определили в list(), слева направо, но в PHP 5 вы получите обратный порядок.
Вообще говоря, желательно не полагаться на конкретный порядок операций, так как будущем это поведение может быть изменено.
3. Нуб-2 - 17 Сентября, 2017 - 19:11:27 - перейти к сообщению
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 вы получите обратный порядок.
Вообще говоря, желательно не полагаться на конкретный порядок операций, так как будущем это поведение может быть изменено.



хмм, ваша ссылка ничем не помогла, если честно. Аналогичный кусок кода с листами работает спокойно в другом месте
4. Строитель - 17 Сентября, 2017 - 20:19:25 - перейти к сообщению
Нуб-2, ну так в чём проблема? Там где NULL проверяйте соответствующую переменную, почему в неё приходит null; Там где Array - обрабатывайте переменную как массив, или объединяйте элементы массива в строку.

 

Powered by ExBB FM 1.0 RC1