1. Главная
  2. Статьи
  3. Вопрос-Ответ
  4. Новости
  5. Форум
  6. Вики
Вход   Регистрация

Биржа комментариев

СМС рассылки

Партнерские программы

Бесплатное продвижение сайтов

VPS хостинг

Кабель оптом

Качественный контент

Офисная мебель Проспект

В функции PHP function() Вернуть несколько значений

Значения в функции возвращаются с помощью оператора return. Оператор return является не обязательным, в случае его отсутствия, функция не возвратит никакого значения.
Функция вида:

 <?php
   $one = 2;
   $two = 5;
   function  one_plus_two($one,$two)
    {
     $sum = $one + $two;
     return $sum;
    }
  echo  one_plus_two($one,$two); // вернет значение 7
 ?>

Может вернуть только одно значение, при чем переменная $sum за пределами функции не существует.

Если же, Вам нужно вернуть именно переменную $sum сделать это можно, объявив ее глобальной (кстати, возвращение значения return $sum; можно опустить):

<?php
  $one = 2;
  $two = 5;
  function  one_plus_two($one,$two)
  { global  $sum;
     $sum = $one + $two;
  }
  /*
  Вызвать функцию все равно придется,
  для того, что бы она создала глобальную переменную
  и выполнила операцию сложения (в нашем случае)
  */
  one_plus_two($one,$two);
  echo $sum; // вернет значение 7
  ?>

Как Вы уже догадались, таким методом можно вернуть более одного значения вложенных в переменные:

 <?php
   $one = 2;
   $two = 5;
  function  one_and_two($one,$two)
   { global  $sum;
     global $min;
     global $prod;
      $sum = $one + $two;
      $min = $one - $two;
      $prod = $one * $two;
    }
  /*
  Вызываем сначала функцию
  */
  one_and_two($one,$two);
  echo "Сумма: ".$sum.", Разница:  ".$min.", Произведение: ".$prod;
  /*
  Все переменные и их значения нам доступны
  */
 ?>

Хотя более технически правильным для возврата в одной функции несколько значений делается это с помощью массива:

 <?php
  function  myBestFun()
   {
    return array (0, 1, 2);
   }
  // Функция  возвращает массив
    list  ($zero, $one, $two) = myBestFun();
  // Записываем в переменные значения, полученные в функции
  echo $zero,  $one, $two;
 ?>

Кроме значения, функция может, как мы уже знаем, возвращать массивы. Поэтому в функции можно вернуть массив, сформированный в функции:

<?php
 function  funMakeArray(){
  $ret =  array();
  $a =  "Hello";
  $b =  "world";
   $ret['a'] =  $a;
   $ret['b'] =  $b;
  return  $ret;
  }
 print_r (funMakeArray());
?>
Категория статьи: Веб-программирование | Просмотров: 24405 | Добавлена: 13.03.2013

Почему Вы еще не прокомментировали?
Оставьте свой комментарий! Весь Интернет уже заждался!

Ваше Имя Муж. Жен. Как Вас величать?
Антиспам защита

– Напишите название этого сайта по-русски
(если Вы не в курсе, сайт называется "РапидАп")

Текст комментария
 
О сайте ⋅  Контакты