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]   

> Без описания
saklavas
Отправлено: 21 Февраля, 2016 - 18:27:09
Post Id


Новичок


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


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




Здравствуйте. Помогите пожалуйста, я полный новичок. Не могу понять, хотя долго рылся в интернете как на php сделать функцию, производящую сложение/вычитание/деление/умнож ение. Именно функцию, чтобы можно было сделать return. По смыслу она будет выглядеть как-то так:
PHP:
скопировать код в буфер обмена
  1. function sum ($a = 5, $b = 6){
  2. renern sum}

Извините за мой кривой php Ниндзя
 
 Top
LIME
Отправлено: 21 Февраля, 2016 - 18:48:11
Post Id


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


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


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




PHP:
скопировать код в буфер обмена
  1. function sum ($a = 5, $b = 6){
  2.     return $a + $b;
  3. }
  4. echo sum();// 11
  5. echo sum(2, 3);//5
  6.  
 
 Top
saklavas
Отправлено: 22 Февраля, 2016 - 14:13:16
Post Id


Новичок


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


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




LIME пишет:
PHP:
скопировать код в буфер обмена
  1. function sum ($a = 5, $b = 6){
  2.     return $a + $b;
  3. }
  4. echo sum();// 11
  5. echo sum(2, 3);//5
  6.  

Как все просто оказывается. Спасибо! Как я понял в PHP даже нет понятия функций при осуществлении этих четырех математических операций. Надо смысл каждой функции набирать руками
 
 Top
LIME
Отправлено: 22 Февраля, 2016 - 15:42:37
Post Id


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


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


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




saklavas пишет:
Как я понял в PHP даже нет понятия функций при осуществлении этих четырех математических операций. Надо смысл каждой функции набирать руками
а где есть?
в бейсике нет
в паскале нет
в С нет
где есть???
(Добавление)
про функциональное программирование я молчу судя по вопросу
 
 Top
saklavas
Отправлено: 23 Февраля, 2016 - 10:19:08
Post Id


Новичок


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


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




LIME пишет:
saklavas пишет:
Как я понял в PHP даже нет понятия функций при осуществлении этих четырех математических операций. Надо смысл каждой функции набирать руками
а где есть?
в бейсике нет
в паскале нет
в С нет
где есть???
(Добавление)
про функциональное программирование я молчу судя по вопросу

Наверное, им виднее. Я же не спорю, наоборот, наверное так удобней.

Можете подсказать еще пару вопросов:
PHP:
скопировать код в буфер обмена
  1.         <?PHP
  2.         function sum ($a = 5, $b = 6){
  3.             return $a + $b;
  4.         }
  5.         echo "Сумма $a и $b = "; // почему на страничке не выводит, переменных $a и $b?
  6.         echo sum(); // но при этом выводит верное значение sum();
  7. ?>

И еще вопрос: как можно записать эти два echo в одну строчку?
 
 Top
andrewkard
Отправлено: 23 Февраля, 2016 - 11:54:51
Post Id


Участник


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


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




saklavas
Посмотрите тут: http://www.php.su/learnphp/datatypes/?string
 
 Top
DelphinPRO
Отправлено: 23 Февраля, 2016 - 12:16:05
Post Id



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


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


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




saklavas пишет:
echo "Сумма $a и $b = "; // почему на страничке не выводит, переменных $a и $b?

Потому что они не существуют в данном контексте. Это параметры функции, доступны только внутри функции.

Информация для размышления:
PHP:
скопировать код в буфер обмена
  1. $x = 10;
  2. $y = 12;
  3.  
  4. echo "Сумма $x и $y = ";
  5. echo sum($x, $y);
  6.  
  7. //echo "Сумма $x и $y = " . sum($x, $y); // в одну строку
  8.  
  9. die; // Завершаем выполнение скрипта!!! Всё, стоп, приехали, дальше жизни нет :)
  10.  
  11. // опа! функцию и в конце можно объявить. и даже после die;
  12.  
  13. function sum ($a = 5, $b = 6){
  14.             return $a + $b;
  15. }


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
saklavas
Отправлено: 25 Февраля, 2016 - 14:21:23
Post Id


Новичок


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


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




andrewkard, DelphinPRO, спасибо, очень помогли. Разобрался! Веселые люди, придумали аналог exit'a :Улыбка
Может еще подскажите. Пытаюсь запилить транслитерацию, но она почему-то не работает. Ругается на после объявления переменной $alphabet в виде массива он не ожидает квадратную скобку '[' - 7-я срочку. И я не могу понять в чем проблема?
PHP:
скопировать код в буфер обмена
  1.         <?PHP
  2.             $string = "мы изучаем основы php-программирования. данная функция позволяет транслитерировать русскией текст латинскими символами";
  3.             echo "<p>исходная сторока: \"$string\"</p>\n";
  4.             printf("<p>преобразования: \"%s\"</p>\n", translit($string));
  5.  
  6.             function translit($string){
  7.                 $alphabet = [
  8.                   'а' => 'a', 'б' => 'b', 'в' => 'v', 'г' => 'g', 'д' => 'd', 'е' => 'je',
  9.                   'ё' => 'jo', 'ж' => 'zh', 'з' => 'z', 'и' => 'i', 'й' => 'j', 'к' => 'k',
  10.                   'л' => 'l', 'м' => 'm', 'н' => 'n', 'о' => 'o', 'п' => 'p', 'р' => 'r',
  11.                   'с' => 's', 'т' => 't', 'у' => 'u', 'ф' => 'f', 'х' => 'h', 'ц' => 'c',
  12.                   'ч' => 'ch', 'ш' => 'sh', 'щ' => 'sch', 'ъ' => '', 'ь' => '', 'ы' => 'y',
  13.                   'э' => 'e', 'ю' => 'ju', 'я' => 'ja', ' ' => ' '
  14.                 ];
  15.  
  16.                 $result = [];
  17.                 for($i = 0; $i < mb_strlen($string, "utf-8"); $i++){
  18.                     $result[] = $alphabet[mb_bubstr($string, $i, 1, "utf-8")];
  19.                 }
  20.             }
  21.             return imolode($result);
  22.         ?>

(Отредактировано автором: 25 Февраля, 2016 - 14:21:45)

 
 Top
andrewkard
Отправлено: 25 Февраля, 2016 - 15:18:07
Post Id


Участник


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


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




saklavas
Возможно проблема в этом:
Цитата:

Начиная с PHP 5.4 возможно использовать короткий синтаксис определения массивов, который заменяет языковую конструкцию array() на [].
 
 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