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]   

> Без описания
SetevojGoblin
Отправлено: 02 Декабря, 2012 - 11:56:50
Post Id



Новичок


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


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




Здравствуйте уважаемые программисты! Помогите разобраться с основами.
Существует некий рнр скрипт.
PHP:
скопировать код в буфер обмена
  1. $m[0] = 2;
  2. echo $m[0];
  3. $m[0]++;
  4. echo $m[0];

Выводит "23"
И другой скрипт.
PHP:
скопировать код в буфер обмена
  1. $m[0] = 2;
  2. Otp($m);
  3. function Otp($m){
  4.         echo $m[0];
  5.         $m[0]++;
  6.         return $m;
  7. }
  8. echo $m[0];

Выводит "22". Почему функция не возвращает массив?
 
 Top
Мелкий Супермодератор
Отправлено: 02 Декабря, 2012 - 12:00:30
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




Именно что возвращает, но вы результат выполнения функции не сохраняете.


-----
PostgreSQL DBA
 
 Top
SetevojGoblin
Отправлено: 02 Декабря, 2012 - 12:47:04
Post Id



Новичок


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


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




Мелкий пишет:
Именно что возвращает, но вы результат выполнения функции не сохраняете.

Спасибо, я понял. Нужно написать $m = Otp($m);
 
 Top
isvetlichniy
Отправлено: 02 Декабря, 2012 - 13:18:14
Post Id



Гость


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


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




Цитата:
$m = Otp($m);


100% и без вариантов.
Кстати для тестирования я еще использую функцию print_r дабы посмотреть все содержимое массива.

в вашем случае это будет


Удачи1
 
 Top
sKaa
Отправлено: 02 Декабря, 2012 - 13:28:56
Post Id



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


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


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

[+]


isvetlichniy пишет:
100% и без вариантов

Варианты конечно есть :

PHP:
скопировать код в буфер обмена
  1.     $m[0] = 2;
  2.     Otp($m);
  3.     function Otp(&$m){
  4.             echo $m[0];
  5.             $m[0]++;
  6.             return $m;
  7.     }
  8.     echo $m[0];
isvetlichniy пишет:
Кстати для тестирования я еще использую функцию print_r

var_dump, var_export
 
 Top
isvetlichniy
Отправлено: 02 Декабря, 2012 - 13:35:07
Post Id



Гость


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


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




хехе , без вариантов - имелось ввиду что нужно каким либо образом передать значение.
И кстати передачу по ссылке не считаю оптимальным подходм в данной ситуации.


Я уже понял, что вы владеете синтаксисом и функциями php, но зачем усложнять жизнь начинающим программистам?
 
 Top
sKaa
Отправлено: 02 Декабря, 2012 - 13:38:30
Post Id



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


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


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

[+]


isvetlichniy, возможно вы и правы, усложнять не за чем. Но читая более развернутые ответы, мне кажется, они будут, может, чуть быстрее чему-то учиться... субъективно моё мнение) Не хотел вас задеть чем-то)))
 
 Top
EuGen Администратор
Отправлено: 02 Декабря, 2012 - 13:39:40
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




isvetlichniy пишет:
но зачем усложнять жизнь начинающим программистам?

В плане отладки var_dump куда как предпочтительнее print_r, поскольку показывает тип переменной/выражения.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
SetevojGoblin
Отправлено: 02 Декабря, 2012 - 14:20:48
Post Id



Новичок


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


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




Спасибо за помощь, друзья! А то на других форумах за подобные вопросы спокойно могут х...ми обложить.
 
 Top
isvetlichniy
Отправлено: 02 Декабря, 2012 - 14:27:40
Post Id



Гость


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


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




Цитата:
Не хотел вас задеть чем-то)))


Вы меня абсолютно не задели. возможно вы не правильно домыслил часть моего ответа и все. )))
 
 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