Использование списков

Использование функции, которая возвращает массив данных, является одним из способов передачи нескольких значений из функции. Существует модифика­ция этого способа, при котором используется списки переменных.

Для описания списка переменных применяется системная функция list, осуществляющая присвоение перечисленным при ее вызове переменным значений элементов мас­сива. Для демонстрации использования этой функции взята функция array_doubler из предыдущего раздела, которая удваивает значения элемен­тов массива.

Пусть требуется присвоить первые шесть элементов удвоенного массива переменным $first, $second, $third и т.д. Этого можно достичь при помо­щи конструкции следующего вида:

code: #php
list($first, $second, $third, $fourth, $fifth, $sixth) = array_doubler($array);

Пример демонстрирует использование данного способа. Таким образом можно осуществить передачу из функции нескольких значений. Альтернати­вой служит передача аргумента по ссылке.

code: #php
<HTML>
<HEAD>
<TITLE>Использование функции list</TITLE>
</HEAD>
<BODY>
<H1>Использование функции list </H1>
 
<?php
 
function array_doubler($arr) {
  for  ($loop_index = 0;  $loop_index < count($arr); $loop_index++) {
    $arr[$loop_index] *= 2;
  }
 
  return $arr;
}
 
$array = array(1,  2,  3,  4,  5,  6);
list($first, $second, $third, $fourth, $fifth, $sixth)  = array_doubler($array);
echo "\$first:  $first<BR>";
echo "\$second:  $second<BR>";
echo "\$third: $third<BR>";
echo "\$fourth:  $fourth<BR>";
echo "\$fifth:  $fifth<BR>";
echo "\$sixth:  $sixth<BR>";
?>
</BODY>
</HTML>
результат выполнения примера

В том случае, если требуется использовать только первые три элемента мас­сива для присвоения их значений переменным, соответствующий оператор вы­глядит следующим образом (лишние элементы массива, который возвращает функция, просто игнорируются):

code: #php
list($first,  $second,  $third) = array_doubler($array);
echo "\$first:  $first\n";
echo "\$second:  $second\n";
echo "\$third:  $third\n";

Следует обратить внимание на то, что использование функции list для фор­мирования массива некорректно. Следующий фрагмент кода является ошибоч­ным:

code: #php
return list($arr[0], $arr[1], $arr[2], $arr[3], $arr[4], $arr[5]);
Книга: PHP в примерах. Купить книгу
Автор: Стивен Хольцнер. Переводчик: С. Банников
Поделиться:

Похожие статьи: