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]   

> Без описания
imedia
Отправлено: 26 Августа, 2017 - 19:13:27
Post Id



Частый гость


Покинул форум
Сообщений всего: 192
Дата рег-ции: Июль 2015  


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




Обращаемся так createMongoInfo($user);
PHP:
скопировать код в буфер обмена
  1.  
  2. protected function generateDomain($domain,$length = 1){
  3.         //Смотрим в базу нет ли там такогоже домена
  4.         $site = Site::where('domain_name',$domain)->get();
  5.         if(isset($site[0])){
  6.             $chars = 'abdefhiknrstyz';
  7.             $numChars = strlen($chars);
  8.             $string = '';
  9.             for ($i = 0; $i < $length; $i++) {
  10.                 $string .= substr($chars, rand(1, $numChars) - 1, 1);
  11.             }
  12.             $domain=$domain.'_'.$string;
  13.  
  14.             $this->generateDomain($domain,$length+1);
  15.  
  16.         }
  17.         else{
  18.         //No such site
  19.         dump('return',$domain);//Здесь после одного прохода imediasun_z
  20.         return $domain;
  21.         }
  22.    }
  23.     protected function createMongoInfo($user){
  24.  
  25.        $domain_name=stristr($user->email, '@', true);
  26.        dd($this->generateDomain($domain_name,1));//Null
  27.        
  28.  
  29.     }
  30.  

Почему в dd createMongoInfo NULL когда в ретурне generateDomain imediasun_z smile

(Отредактировано автором: 26 Августа, 2017 - 19:19:58)

 
 Top
MouseZver
Отправлено: 26 Августа, 2017 - 19:57:06
Post Id



Новичок


Покинул форум
Сообщений всего: 58
Дата рег-ции: Июнь 2017  
Откуда: php.ru


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




делай отладку, смотри что делает метод generateDomain
 
 Top
imedia
Отправлено: 26 Августа, 2017 - 20:24:10
Post Id



Частый гость


Покинул форум
Сообщений всего: 192
Дата рег-ции: Июль 2015  


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




Я написал, возвращает имя домена
 
 Top
MouseZver
Отправлено: 27 Августа, 2017 - 08:10:42
Post Id



Новичок


Покинул форум
Сообщений всего: 58
Дата рег-ции: Июнь 2017  
Откуда: php.ru


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




а функция dd() ?
 
 Top
rgl
Отправлено: 28 Августа, 2017 - 14:16:56
Post Id



Новичок


Покинул форум
Сообщений всего: 56
Дата рег-ции: Авг. 2017  
Откуда: замкадье


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




Как видно, в функции есть return не всегда, а в зависимости от if. Могу предположить, что return не нужен, если все ОК, а нужет был только для отладки.

(Отредактировано автором: 28 Августа, 2017 - 14:17:29)

 
 Top
OrmaJever Модератор
Отправлено: 28 Августа, 2017 - 16:04:58
Post Id



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


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


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





очевидно же что если условие выполняется то в нём ретурна нету. Об этом написал rgl


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
andrewkard
Отправлено: 28 Августа, 2017 - 21:28:41
Post Id


Участник


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


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




Сдается мне что в функции dd просто нет return,
Цитата:

Замечание:
Если конструкция return не указана, то функция вернет значение NULL.
 
 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