Как обратиться к элементу массива напрямую

Статус
В этой теме нельзя размещать новые ответы.

drawing4

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

PHP:
<?php
// Пример 1
$pizza  = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2

?>

Интересует, если нужно получить значение piece1 сразу (без использования переменной pieces) это можно как-то сделать?
 
в PHP - нет, нлеьзя.
"на лету" можно только обращатся к свойствам объектов
 
Вон оно чего :bh:

Как выход додумался до передачи строки, массива и номера объекта в функцию, и выведения результата с помощью этой функции, но это нифига не проще получится
 
анонимными функциями если сильно надо
PHP:
$pieces = function () {
global $pizza;
return explode(" ", $pizza); 
}
echo $pieces[0];
 
propovednik
вы бы свой код хоть прогоняли бы прежде чем писать глупости.
начнем с синтаксической ошибки:
объявление анонимной функции является выражением, и поэтому в данном случае после него нужно поставить точку с запятой.

во-вторых, вы пытаетесь использовать функцию(а не результат ее вызова) как массив
И это, разумеется вызовет
Fatal error: Cannot use object of type Closure as array in ...
 
Да нет, анонимные функции это не вариант.
Я хотел код более изящным сделать, по-видимому не получится. Ну либо сделаю функцию как выше писал.

Мне нужен только первый элемент из массива который explode возвращает. А делать присвоение массива переменной и потом из этой переменной брать первый элемент - чего-то не понравилась такая конструкция
 
чем array_shift() не угодил ?

echo array_shift(function ());
 
чем array_shift() не угодил ?
echo array_shift(function ());

Ок, в моем случае он подойдет, а как тогда быть если нужен не первый элемент массива? Два (n-раз) обращаться к функции не вариант.

Есть что-то вроде этого но чтобы возвращало значение с номером n где n - передаваемый параметр? Посмотрел документацию по массивам, не нашел.

Всех функций просто не помню, как не помнил и о array_shift
 
напиши свою такую

вообще не вижу проблемы -- если тебе это нужно раз-два -- сделай переменную
если часто - напиши свою функцию

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

Да я так и поступлю, просто иногда возникают сомнения на тему "недоучился".
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху