из Perl'a в PHP (split -> explode @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 11 ] 
*   Список форумов / Начинка и техника / Программирование для WWW » ответить » создать топик « | »
Автор Сообщение
MpaK999 Муж.
участник
1
Сообщения: 1716
Зарегистрирован: 14.11.02
Откуда: Ufa/Russia
Заголовок сообщения: из Perl'a в PHP (split -> explode
Сообщение Добавлено: 28 Март 2004, 17:35:36 
ранее в perl делал таким образом, что не перечисленные элементы для split помещались в массив

$line='one|two|three|four|five|six';
($one, $two, @array)=split/\|/,$line;

как мне теперь такое сделать в пхп?
что-то типа а-ля


$line='one|two|three|four|five|six';
list($one,$two, $array)=explode('|',$line);
-----------------
пока стоит избегать использования в сообщении {code}{/code} - скрипт глючит.

_________________
:: metal kick ass ::
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Сообщение Добавлено: 29 Март 2004, 13:58:00 
Забудь про list() и почитай про array_shift() :)

_________________
We've got the big memory and the small memory. The small memory's to remember the small things and the big memory's to forget the big ones.
MpaK999 Муж.
участник
1
Сообщения: 1716
Зарегистрирован: 14.11.02
Откуда: Ufa/Russia
Сообщение Добавлено: 29 Март 2004, 23:11:32 
Crazy, я крнечнр прнимаю, что сперва можно все в массив загнать, а потом уже в каждую переменную по элементу загонять... но ведь так в перле было проще, неужели нельзя в пхп нечто подобное соорудить?

_________________
:: metal kick ass ::
Long Муж.
SubAdmin
Теоретик
17
Сообщения: 4362
Зарегистрирован: 25.04.01
Откуда: Москва
Сообщение Добавлено: 30 Март 2004, 11:41:51 
MpaK999, а что ты собственно хочешь сделать? (с перлом я уже давно не общаюсь)

_________________
Мудрость не всегда приходит с возрастом. Бывает, что возраст приходит один.
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Сообщение Добавлено: 30 Март 2004, 20:38:29 

MpaK999 писал(а):
неужели нельзя в пхп нечто подобное соорудить?



Нельзя. И не только это. :)
tibalt
новый человек
0
Сообщения: 14
Зарегистрирован: 03.03.03
Откуда: novosibirsk
Сообщение Добавлено: 31 Март 2004, 10:33:33 
Long, он хочет, чтоб первые n элементов массива заполнялись соответствующими значениями из строки (например a и b в ячейки 1 и 2), а остальные значения записывались в следующий элемент (например c,d и e в ячейку 3).

MpaK999, всё ты правильно делаешь, не слушай кого попало.
$str = "a|b|c|d|e";
list($a, $b, $cde) = split("|", $str);
у меня это всегда работало.

_________________
подпыс
Long Муж.
SubAdmin
Теоретик
17
Сообщения: 4362
Зарегистрирован: 25.04.01
Откуда: Москва
Сообщение Добавлено: 31 Март 2004, 11:03:51 
tibalt, давай что бы не быть голословным ты выложишь тот код что написал в инете, а мы посмотрим, что у тебя содержится в переменной $cde

_________________
Мудрость не всегда приходит с возрастом. Бывает, что возраст приходит один.
tibalt
новый человек
0
Сообщения: 14
Зарегистрирован: 03.03.03
Откуда: novosibirsk
Сообщение Добавлено: 31 Март 2004, 11:47:32 
стоп, он похоже ваще не это хотел, ему надо, чтоб в $a было "a", в $b - "b", а в массиве $cde - ["c", "d", "e"]… ща подумаем как это замутить...
ага вот так разве что:
list($a, $b, $cde[0], $cde[1], $cde[2]) = split("\|", $str);

либо так:
list($a, $b, $cde) = split("\|", $str, 3);
$cde = split("\|", $cde);

надеюсь, доказательств не надо? ;)

_________________
подпыс
MpaK999 Муж.
участник
1
Сообщения: 1716
Зарегистрирован: 14.11.02
Откуда: Ufa/Russia
Сообщение Добавлено: 1 Апрель 2004, 08:39:27 
tibalt, спасибо, выбрал второй вариант, так как не всегда известно количество элементов разделнных |

оффтопик:
век живи, веку учусь, так как не знал, что в php есть split, думал только implode...

_________________
:: metal kick ass ::
tibalt
новый человек
0
Сообщения: 14
Зарегистрирован: 03.03.03
Откуда: novosibirsk
Сообщение Добавлено: 1 Апрель 2004, 09:16:07 
оффтопик:
в пхп сплит - это почти тот же имплоуд, только ещё поддерживает регэкспы. чаще же у функций бывают просто алиасы (join is an alias of implode()), чтоб программерам было проще переходиь с дргих языков. только не попадайся - некоторые функции, которые пишутся также, как в перле, на самом деле, ведут себя несколько иначе...
короче www.php.net/manual тебе поможет, а также http://phpclub.ru/talk

_________________
подпыс
MpaK999 Муж.
участник
1
Сообщения: 1716
Зарегистрирован: 14.11.02
Откуда: Ufa/Russia
Сообщение Добавлено: 1 Апрель 2004, 09:44:15 
tibalt, спасибо, всё скачано и читается...

_________________
:: metal kick ass ::
*   Список форумов / Начинка и техника / Программирование для WWW « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 11 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100