Как получить элемент массива?

drawing4

Профессор
Регистрация
21 Ноя 2008
Сообщения
323
Реакции
37
Функция возвращает массив. Возможно ли сразу взять элемент этого массива?

PHP:
function f() {

return $array
}

$b=f(); // вернет массив в переменную $b

$c=$b[1]; // получаем второй элемент массива

Как получить значение в $c сразу из функции? Это возможно вообще?
 
если без назначения временной переменной то так:

PHP:
$c=next(f());

также ф-и current, end - для первого или последнего элемента
 
Скажем прямо - нативной поддержки требуемого нет и не планируется. Удивительные костыли можно подсмотреть :)
 
A если доработать саму функцию, примерно так:
PHP:
function f($g) { 
if ($g==0) {
return $array;} 
else {	
return $array[$g];}
} 
$c = f(0); //весь массив
$c = f(1);   //1 элемент
 
A если доработать саму функцию, примерно так:
PHP:
function f($g) { 
if ($g==0) {
..

Ноль передавать так нельзя. Массивы считаются от нуля. Но это же пхп. Нужно ничего не передавать, если нужен полный массив.
PHP:
function f($g=false) { 
if ($g===false) {
return $array;} 
else {	
return $array[$g];}
} 
$c = f(); //весь массив
$c = f(1);   //1 элемент
 
A если доработать саму функцию, примерно так:
PHP:
function f($g) { 
if ($g==0) {
return $array;} 
else {	
return $array[$g];}
} 
$c = f(0); //весь массив
$c = f(1);   //1 элемент


Так не пойдет, смысл в том чтобы сделать код более изящным, а не переписывать уже написанные (не мной) функции
 
Тогда вам надо не на php писать.
Пхп фишки вида $item=f()[1] - не поддерживает.

пхп может быть многолословен, зато он прост. Для ценителей магического кода нужно выбирать другой язык типа Ruby

И если смотреть на стартовый топик и на это заявление, то напрашивается вывод, что это, то есть "не изменяя/оборачивая/переписывая метод, изменить его поведение прямо в нем" - вообще нельзя сделать ни в каком языке. Разве что подменить. Но это еще возможно в случае с классами (соорудить декоратор), а classkit юзать чревато неприятностями.
 
Самый простой метод который видится мне это написание, подключение и использование своего класса, с требуемым набором функций
 
Назад
Сверху