Реклама на сайте Advertise with us

Return в собственной функции

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

Люблю то, что делаю!

С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418


Передовик Master-X (16.12.2014) Передовик Master-X (16.02.2017) Передовик Master-X (01.03.2017) Передовик Master-X (16.03.2017) Передовик Master-X (01.09.2017) Ветеран трепа Master-X (16.09.2017)
Ссылка на сообщениеДобавлено: 01/11/14 в 19:52       Ответить с цитатойцитата 

написал функцию, отдаю ей определенные значения, а она создает или перезаписывает файл согласно данным.
Возник вопрос, функция должна, что то отдавать основному скрипту, который к ней обращается или это не требуется?

грубый пример

Код: [развернуть]


вроде как функция отработала, но х.з.
как правильно поступить?
Спасибо!

0
 



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 01/11/14 в 20:15       Ответить с цитатойцитата 

можно так:
Код:
function myFile($data, $fileName){
return file_put_contents($fileName, $data);
}

if(myFile($data, $fileName)!==false) {it's ok!}
else {bad}

8
 

www.phpdevs.com

С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105


Передовик Master-X (01.09.2005) Передовик Master-X (16.09.2005) Передовик Master-X (01.10.2005) Передовик Master-X (16.08.2006) Передовик Master-X (16.10.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 01/11/14 в 20:17       Ответить с цитатойцитата 

Если результат работы функции тебя не интересует, то и можно ничего не отдавать. Т.е. смысла нет выполнять операцию, которая не требуется. Ну разве для красоты и на будущее "а вдруг когда понадобиться".

Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.

8
 



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 01/11/14 в 20:17       Ответить с цитатойцитата 

аа, ну и вопрос не верный: "функция должна, что то отдавать основному скрипту", надо по-другому - "скрипт не продолжит выполняться до тех пор, пока не отработает функция"

8
 

продаю базы адалт кейвордов

С нами с 09.11.02
Сообщения: 9045
Рейтинг: 3772


Передовик Master-X (16.05.2004) Передовик Master-X (01.06.2004)
Ссылка на сообщениеДобавлено: 01/11/14 в 21:08       Ответить с цитатойцитата 

Функция должна возвращать значение... на то она и функция.
В твоем случае это, к примеру, может быть 1 если всё удалось, или 0 - если что-то пошло не так... или, как ibiz нписал (то ж самое, в принципе).

Т.е. нельзя сказать, что ты написал неправильно... но не красиво, и не по понятиям icon_smile.gif

сдам подпись, стучите в личку

8
 



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 01/11/14 в 21:19       Ответить с цитатойцитата 

ivango писал:
Функция должна возвращать значение... на то она и функция.
В твоем случае это, к примеру, может быть 1 если всё удалось, или 0 - если что-то пошло не так... или, как ibiz нписал (то ж самое, в принципе).

Т.е. нельзя сказать, что ты написал неправильно... но не красиво, и не по понятиям icon_smile.gif


только надо внимательнее смотреть и знать, что функция file_put_contents возвращает, например: <? echo @file_put_contents("test.txt","");?> вернет 0, без ошибок, а эта <? echo @file_put_contents("test.txt","12");?> уже вернет 2 и тоже без ошибок trollface.png

8
 

Люблю то, что делаю!

С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418


Передовик Master-X (16.12.2014) Передовик Master-X (16.02.2017) Передовик Master-X (01.03.2017) Передовик Master-X (16.03.2017) Передовик Master-X (01.09.2017) Ветеран трепа Master-X (16.09.2017)
Ссылка на сообщениеДобавлено: 01/11/14 в 21:34       Ответить с цитатойцитата 

т.е. по ходу функции, если она отработала до конца, она должна выдать что-то основному скрипту через return
Типа, я всё сделала, всё ок или была ошибка и как бы продолжение дальнейших действий не целесообразно.
Т.е. TRUE - это всё отлично
и FALSE - был косяк.
Тогда такой вопрос, как правильно сделать запись чтоб функция отдавала через return основному скрипту либо TRUE либо FALSE.

return TRUE; или return bool(TRUE);
или как то иначе?

0
 

Люблю то, что делаю!

С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418


Передовик Master-X (16.12.2014) Передовик Master-X (16.02.2017) Передовик Master-X (01.03.2017) Передовик Master-X (16.03.2017) Передовик Master-X (01.09.2017) Ветеран трепа Master-X (16.09.2017)
Ссылка на сообщениеДобавлено: 01/11/14 в 21:39       Ответить с цитатойцитата 

тем самым возвращая в основной скрипт true или false мы можем убедиться стоит ли продолжать работу дальше или остановиться.

0
 



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 01/11/14 в 21:47       Ответить с цитатойцитата 

Lexikon писал:

Тогда такой вопрос, как правильно сделать запись чтоб функция отдавала через return основному скрипту либо TRUE либо FALSE.


вот же:
Код:
function myFile($data, $fileName){
return file_put_contents($fileName, $data);
}
//если функция отработала без ошибок, то ок
if(myFile($data, $fileName)!==false) {it's ok!}
else {bad}


TRUE она не возвращает, а возвращает кол-во записанных в файл символов или FALSE при ощибке

8
 
+ +
WP-Master

С нами с 17.01.13
Сообщения: 1922
Рейтинг: 1123


Передовик Master-X (16.02.2015) Передовик Master-X (01.03.2015)
Ссылка на сообщениеДобавлено: 01/11/14 в 22:14       Ответить с цитатойцитата 

зачем выносить это все в отдельную функцию если это можно задать в аргументе if?

8
 

Люблю то, что делаю!

С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418


Передовик Master-X (16.12.2014) Передовик Master-X (16.02.2017) Передовик Master-X (01.03.2017) Передовик Master-X (16.03.2017) Передовик Master-X (01.09.2017) Ветеран трепа Master-X (16.09.2017)
Ссылка на сообщениеДобавлено: 02/11/14 в 07:40       Ответить с цитатойцитата 

ibiz писал:
вот же:
Код:
function myFile($data, $fileName){
return file_put_contents($fileName, $data);
}
//если функция отработала без ошибок, то ок
if(myFile($data, $fileName)!==false) {it's ok!}
else {bad}


TRUE она не возвращает, а возвращает кол-во записанных в файл символов или FALSE при ощибке


меня просто смутил тот момент, что в данном примере тело функции в одну строку и как раз return и возвращает эту одну строку, а если строк много.

Есть еще такой момент:

Код: [развернуть]


Почему если это вывожу на экран, "рутекст" кодируется, если навести курсор на саму ссылку, то там "рутекст" не кодирован и соответственно когда кликаю по такой ссылке, параметр соответственно передается тоже не кодированым.

0
 



С нами с 20.01.03
Сообщения: 18003
Рейтинг: 9760


Передовик Master-X (01.03.2005) Передовик Master-X (16.03.2005) Передовик Master-X (16.10.2016) Передовик Master-X (01.11.2016) Передовик Master-X (16.11.2016) Ветеран трепа Master-X (01.12.2016)
Ссылка на сообщениеДобавлено: 02/11/14 в 08:01       Ответить с цитатойцитата 

Lexikon писал:
Возник вопрос, функция должна, что то отдавать основному скрипту, который к ней обращается или это не требуется?

не требуется

http://php.net/manual/ru/functions.returning-values.php

8
 



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 02/11/14 в 08:47       Ответить с цитатойцитата 

Lexikon писал:

Есть еще такой момент:

Код:
<?php

$menuObject = "рутекст";

echo "<i><a href=\"./page/?subcat=".urlencode($menuObject)."\">".$menuObject."</a></i><br />";

?>      


Почему если это вывожу на экран, "рутекст" кодируется, если навести курсор на саму ссылку, то там "рутекст" не кодирован и соответственно когда кликаю по такой ссылке, параметр соответственно передается тоже не кодированым.


с рутекстом надо проверять кодировки, лучше если это везде будет UTF-8, как стандарт, в том числе весь текст в исходнике

0
 

Люблю то, что делаю!

С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418


Передовик Master-X (16.12.2014) Передовик Master-X (16.02.2017) Передовик Master-X (01.03.2017) Передовик Master-X (16.03.2017) Передовик Master-X (01.09.2017) Ветеран трепа Master-X (16.09.2017)
Ссылка на сообщениеДобавлено: 02/11/14 в 18:08       Ответить с цитатойцитата 

так в том то и дело, что везде UTF-8.
Х.з. в чем проблема.

0
 

www.phpdevs.com

С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105


Передовик Master-X (01.09.2005) Передовик Master-X (16.09.2005) Передовик Master-X (01.10.2005) Передовик Master-X (16.08.2006) Передовик Master-X (16.10.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 02/11/14 в 18:30       Ответить с цитатойцитата 

Lexikon писал:
Почему если это вывожу на экран, "рутекст" кодируется, если навести курсор на саму ссылку, то там "рутекст" не кодирован и соответственно когда кликаю по такой ссылке, параметр соответственно передается тоже не кодированым.

Имхо это от браузеров зависит уже.

Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.

0
 



С нами с 05.05.05
Сообщения: 1913
Рейтинг: 1134

Ссылка на сообщениеДобавлено: 03/11/14 в 10:53       Ответить с цитатойцитата 

Код:
function myFile($data, $fileName) {
    return file_put_contents($fileName, $data) !== FALSE;
}
icon_smile.gif

-1
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »