Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
10 / 10 / 1
Регистрация: 25.10.2012
Сообщений: 364

Call-time pass-by-reference has been deprecated - argument passed by value, undefined index

24.03.2013, 16:19. Показов 2631. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
[Ошибка] Call-time pass-by-reference has been deprecated - argument passed by value.

[Решение] В конфигурации PHP (файл php.ini) заменить allow_call_time_pass_reference = off
на allow_call_time_pass_reference = on

Что это означает? Что значит устаревший? Он же работает, или в будущем не будет работать? или как? Какая альтернатива ему?

[Ошибка 2] Notice: Undefined index: mod in

Возникает тут: switch ($_POST['mod'])
из-за чего?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.03.2013, 16:19
Ответы с готовыми решениями:

Warning: Call-time pass-by-reference has been deprecated - argument passed by value
так вот! как можно сформировать экселевский фйлик из пхп скрипта? пытаюсь использовать скрипт от суда: ...

Deprecated: Call-time pass-by-reference has been deprecated in E:\www\www\l2\index.php on line 20
Помогите решить проблему пожалуйста, поставил движок stress web 11 для сайта, сверху выдает такую ошибку Deprecated: Call-time...

Убрать вывод предупреждений Deprecated: Call-time pass-
Подскажите как убрать со страницы вывод предупреждений Deprecated: Call-time pass-by-reference has been deprecated in C:\Program Files......

7
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
24.03.2013, 16:45
1. http://www.php.net/manual/ru/i... -reference
Передача аргументов по ссылке во время вызова функции была объявлена устаревшей из соображений чистоты кода. Функция может менять свои аргументы недокументированным способом, если бы аргумент не объявлялся передаваемым по ссылке. Чтобы избежать побочных эффектов, лучше явно указывать, какие аргументы передаются по ссылке только при объявлении функции.
Список изменений для allow_call_time_pass_reference
Версия Описание
5.4.0 Удалена из PHP.
5.3.0 Генерирует ошибку уровня E_DEPRECATED.
5.0.0 Устарела и генерирует ошибку уровня E_COMPILE_WARNING.

2.
Цитата Сообщение от Joker555 Посмотреть сообщение
из-за чего?
из-за неизвестного индекса $_POST['mod'], необходимо проверять isset/empty, существует ли он.
1
10 / 10 / 1
Регистрация: 25.10.2012
Сообщений: 364
24.03.2013, 17:03  [ТС]
KOPOJI, на счет 1й я уже сам понял)) Просто я не вчитался что речь шла ТОЛЬКО о передачи в функцию, а не о полном удалении &.

Теперь насчет 2 ошибки: switch (isset($_POST['mod'])) - это будет верно? Не создаст ошибок в будущем? Просто я не совсем понимаю, использование isset() в switch() как-то не уместно, нелогично... но однако работает.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
24.03.2013, 17:15
неа, неверно)) Читаем на офф сайте про isset(), что она возвращает
http://www.php.net/manual/ru/function.isset.php
Возвращает TRUE, если var определена и значение отличное от NULL, и FALSE в противном случае.
Следовательно, эта строчка в таком виде будет эквивалентна либо такой
PHP
1
switch (true)
либо такой
PHP
1
switch (false)
Думаю, это не то, что требуется
Поэтому либо заключить все в проверку
PHP
1
2
3
4
5
6
7
if(isset($_POST['mod']))
{
  switch($_POST['mod'])
  {
    .......
  }
}
либо, если можно подставить значение по умолчанию - можно так
PHP
1
2
$mod = isset($_POST['mod']) ? $_POST['mod'] : 'значение по умолчанию';
switch($mod)
либо так
PHP
1
switch(isset($_POST['mod']) ? $_POST['mod'] : 'значение по умолчанию')
А вообще, в php switch - это эдакий монстр, лучше уж использовать массивы для проверки значений..
0
10 / 10 / 1
Регистрация: 25.10.2012
Сообщений: 364
24.03.2013, 17:32  [ТС]
Цитата Сообщение от KOPOJI Посмотреть сообщение
Читаем на офф сайте про isset(), что она возвращает
да это то я знаю, поэтому и спросил. Уже у себя понял, что не верно.

Просто бредово получается. Если она определенна не будет, то должен происходить default от switch'а, а теперь получается надо дурацкую проверку выше ставить. Выглядит по дурацки, но это самое верное и экономичное решение на мой взгляд:

PHP
1
2
3
4
5
$get = null;
if (isset($_POST['cmd'])) { $get = $_POST['cmd']; }
 
switch ($get)
{...
Цитата Сообщение от KOPOJI Посмотреть сообщение
А вообще, в php switch - это эдакий монстр, лучше уж использовать массивы для проверки значений..
в каком смысле? грузит чтоле сервер?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
24.03.2013, 17:39
Цитата Сообщение от Joker555 Посмотреть сообщение
Просто бредово получается. Если она определенна не будет, то должен происходить default от switch'а
ну так и будет default. Ругается то не на синтаксис, а на неизвестный индекс.
Цитата Сообщение от Joker555 Посмотреть сообщение
Выглядит по дурацки, но это самое верное и экономичное решение на мой взгляд:
если только чуть короче сделать (если не нужно присваивание значения переменной):
PHP
1
2
switch( isset($_POST['mod']) ? $_POST['mod'] : NULL )
{...
Цитата Сообщение от Joker555 Посмотреть сообщение
в каком смысле?
в смысле долго выполняется
1
10 / 10 / 1
Регистрация: 25.10.2012
Сообщений: 364
24.03.2013, 17:51  [ТС]
Цитата Сообщение от KOPOJI Посмотреть сообщение
ну так и будет default. Ругается то не на синтаксис, а на неизвестный индекс.
я имел ввиду: я дмал Вы мне предлагаете полность охватит switch() ифом Тада пришлось бы ставить еще else { и тут альтернатива дефаулт }


Цитата Сообщение от KOPOJI Посмотреть сообщение
если только чуть короче сделать (если не нужно присваивание значения переменной):
Кстати да, спасибо, это еще короче) Как-то не подумал.


Цитата Сообщение от KOPOJI Посмотреть сообщение
в смысле долго выполняется
а что Вы предлагаете вместо него использовать? Не будет ли по дурацки?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
24.03.2013, 17:59
Цитата Сообщение от Joker555 Посмотреть сообщение
а что Вы предлагаете вместо него использовать? Не будет ли по дурацки?
ну смотря какой код Можно использовать массивы и isset/in_array. Просто смотря что..
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.03.2013, 17:59
Помогаю со студенческими работами здесь

Fatal error: Call-time pass-by-reference has been removed in
Здравствуйте! Из-за чего возникает ошибка Fatal error: Call-time pass-by-reference has been removed in...

Создал Bux: Fatal error: Call-time pass-by-reference has been removed in ...cliker-bux.eu5.org/zsecurity.php
я создал букс но он неработает его показывает но когда начинаеш нажимать любо куда пишет Fatal error: Call-time pass-by-reference has been...

Run time error '5' invalid procedure call or argument
Option Explicit Sub Reshenie() Const e = 2.71828182846 Dim y As Double, A As Double, B As Double ' îáúÿâèë ïåðåìåííûå ...

Ошибка: Run-time error '5', Invalid procedure call or argument
Вообщем сделал программу всё работала пока не дописал выражение до конца и тут бах ошибочка. Вот код: Private Sub CommandButton1_Click() ...

PHP Notice: Undefined index: Invalid argument supplied for foreach()
Доброго дня всем! В логах сервера гигабайтами пишутся логи ошибок такого характера. Есди посмотреть эти файлы то увидим ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru