Автор Тема: n-ный элемент массива?..  (Прочитано 6536 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Xander

  • санитар леса
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1780
  • +0/-0
  • 2
    • Просмотр профиля
n-ный элемент массива?..
« : 21 Октября 2002, 17:06:25 »
Вопрос вот в чем: как получить n-ный элемент массива, возвращаемого функцией?
В Perl это делается так же, как и для настоящих массивов, а синтаксис PHP такие вещи как $time explode(\'|\',$str)[1]  не позволяет. Равно, как и list(NULL,$time) = explode(\'|\',$str)
Кто знает, как это сделать красиво, без введения дополнительных переменных?
« Последнее редактирование: 21 Октября 2002, 22:23:01 от Xander »
•••Jah\'d never let us down!•••

Оффлайн tserbis

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 496
  • +0/-0
  • 0
    • Просмотр профиля
n-ный элемент массива?..
« Ответ #1 : 21 Октября 2002, 17:31:03 »
array_slice
« Последнее редактирование: 21 Октября 2002, 17:42:25 от tserbis »

Оффлайн Xander

  • санитар леса
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1780
  • +0/-0
  • 2
    • Просмотр профиля
n-ный элемент массива?..
« Ответ #2 : 21 Октября 2002, 17:41:43 »
Warning: Illegal offset type in ... on line 19

	
	
	
$time array_slice(explode(\'|\',$records[$i]),1,1);


Я дурак, или оно так не работает?
« Последнее редактирование: 21 Октября 2002, 17:53:54 от Xander »
•••Jah\'d never let us down!•••

Оффлайн tserbis

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 496
  • +0/-0
  • 0
    • Просмотр профиля
n-ный элемент массива?..
« Ответ #3 : 21 Октября 2002, 17:58:02 »
Похоже, я ошибся.
array_slice - то тоже массив возвращает.

Оффлайн Xander

  • санитар леса
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1780
  • +0/-0
  • 2
    • Просмотр профиля
n-ный элемент массива?..
« Ответ #4 : 21 Октября 2002, 18:05:31 »
Гм. Тогда ждем гуру.
•••Jah\'d never let us down!•••

Оффлайн tserbis

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 496
  • +0/-0
  • 0
    • Просмотр профиля
n-ный элемент массива?..
« Ответ #5 : 21 Октября 2002, 18:18:31 »
А без красоты никак:-)

Оффлайн Xander

  • санитар леса
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1780
  • +0/-0
  • 2
    • Просмотр профиля
n-ный элемент массива?..
« Ответ #6 : 21 Октября 2002, 18:21:45 »
Очень даже как:
	
	
	
list(
$ime,$time) = explode(\'|\',$records[$i]);


Но...это же неаккуратно!
:)
•••Jah\'d never let us down!•••

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
n-ный элемент массива?..
« Ответ #7 : 21 Октября 2002, 18:27:16 »
и за всесь день никто в мануял так и не удосужился заглянуть?
Ну, ждите тогда дальше :-)

По ходу, я стал гуру в 5 лет, как только читать научился...

Оффлайн Xander

  • санитар леса
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1780
  • +0/-0
  • 2
    • Просмотр профиля
n-ный элемент массива?..
« Ответ #8 : 21 Октября 2002, 18:36:51 »
RomikChef, я тебя люблю (NOT GAY), но вот хоть сейчас ты мог сказать, в какой главе мануала надо смотреть?

Я в нем ковырялся, но НЕ НАШЕЛ эту фишку.
« Последнее редактирование: 21 Октября 2002, 18:47:10 от Xander »
•••Jah\'d never let us down!•••

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
n-ный элемент массива?..
« Ответ #9 : 21 Октября 2002, 19:00:55 »
Xander
а чем плох вариант:
$ar = exlplode(...)
$var = $ar[$n];

???

Или вот :)  :

<?
$a="aaa|bbb|ccc|dd|eee|sss";
$n 4;
eval(
"list(".(str_repeat(" ,"$n))." \\$aa) = explode(\\"|\\", \\$a);");
echo 
$aa;
?>
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Гаррилл

  • Наглый тип
  • Постоялец
  • ***
  • Сообщений: 202
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phpbbcms.sf.net
n-ный элемент массива?..
« Ответ #10 : 21 Октября 2002, 19:38:35 »
Xander
Читаем статью http://www.webscript.ru/stories/02/06/10/7682222
Качаем всё, что там предлагается. Ставим этот winsintax. Качаем мануал с помощью сервиса этой проги (разобраться, что где очень просто). Запускаем маню через Help, лезем в Указатель (закладка такая там есть), пишем "arr" и читаем взахлёб. Потом копируем эту мессагу, идём на форум и отвечаем новым новичкам.

Оффлайн Xander

  • санитар леса
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1780
  • +0/-0
  • 2
    • Просмотр профиля
n-ный элемент массива?..
« Ответ #11 : 21 Октября 2002, 21:37:23 »
Бааальшое спасибо.
Достали, мля, за ламера держать. Прошу больше, мля, мне таких "ценных советов" не давать. У меня есть ман к ПХП (в chm). Я умею читать на английском. Я умею худо-бедно писать программы.

Я задал 1 (один) конкретный вопрос. Если вы знаете ответ - отвечайте, полагаю, что этот ответ может уместиться в одной строке кода. Если не хотите отвечать по существу - молчите лучше в тряпочку, хватит на форум и одного RomikChief\'a.

И если у меня нет времени вычитывать десятки страниц на английском, то это еще не повод для попыток меня ткнуть куда-то носом, а?
•••Jah\'d never let us down!•••

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
n-ный элемент массива?..
« Ответ #12 : 21 Октября 2002, 21:43:11 »
Xander
я, может, чего-то не понимаю...
когда я использую какую-то функцию, и она работает не так, как мне надо, я лезу в документацию - посмотреть, какие есть варианты.

Все работает именно так, как ты хотел в первом постинге.
только синтаксис немного другой.

Но я не понимаю, почему я вместо тебя должен лезть в мануал и смотреть его.
Ну вот не понимаю я!

Оффлайн Гаррилл

  • Наглый тип
  • Постоялец
  • ***
  • Сообщений: 202
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phpbbcms.sf.net
n-ный элемент массива?..
« Ответ #13 : 21 Октября 2002, 21:55:49 »
Xander
Цитировать
И если у меня нет времени вычитывать десятки страниц на английском, то это еще не повод для попыток меня ткнуть куда-то носом, а?

Всё-таки повод. ИМХО.

Оффлайн Xander

  • санитар леса
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1780
  • +0/-0
  • 2
    • Просмотр профиля
n-ный элемент массива?..
« Ответ #14 : 21 Октября 2002, 22:09:34 »
moderated

Теперь итоги:
Из ответивших:
- дал неправильный ответ: 1 человек
- невнимательно прочитал вопрос: 1 человек
- ткнули носом в мануал: 2 человека

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

Как должно выглядеть искомое:
языковая конструкция, аналогичная перловой function(..)[$i],
либо встроенная функция, делающая то же самое.

Вот так.
P.S. если бы я мог найти это в мануале, я бы НЕ СТАЛ спрашивать на форуме, ну это-то понятно?
« Последнее редактирование: 21 Октября 2002, 22:51:25 от Britva »
•••Jah\'d never let us down!•••

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28