![]() |
Как разобрать строку?
Приветствую!
Помогите разобраться, есть сторка что типа такого http://..../pl.pl?kod=1191&size=2&kod=1195&size=1 так вот мне необходимо чтобы скрипт при обработке ее выводил резудьтат так: 1191 _____ 2 1195 _____ 1 т.е. какждой паре соотвествовало свое значение. Как это сделать? Если бы строка была токой ?kod1=1191&size1=2&kod2=1195&size2=1 то не чего сложного не было бы . Но а если она не такая??? Как ее обработать???? |
Суешь в массив всю $ENV{'QUERY_STRING'}, потом парами перебираешь в цикле:
@query=split(/&/,$ENV{'QUERY_STRING'}); for($i=0; $i<=(@query.length-1);$i+=2){ $temp_kod=$query[$i]; $temp_size=$query[$i+1]; //делаешь с ними что хочешь... } только я Перлом давно не занимался, если будут синтаксические ошибки, не принимай близко к сердцу. А в целом идея ясна... |
Спасибо!!!
Поторопился я :) Да я так и сделал!!! идея правильная!!! :) |
А еще мона так:
$query=$ENV{'QUERY_STRING'}; while($query=~/kod=(\d+)\&size=(\d+)/g){ <код>=$1; <сайз>=$2; } А внутри етого цикла делаешь еще чего хошь с кодом и сайзом. |
В принципе это одно и тоже....
только заместо for берется while...... ...интерестно, а отличия между ними есть? |
Ваще-то есть :D
Во первых не люблю конструкции типа @qqq.length Её моно заменить на $#qqq А во вторых надо заставлять юсеров учить рег. выражения, и что с ними связанно, очень полезно для общего развития интелектуального уровня государства... :eek: |
Спасибо за разъяснение!!
Надо попробывать... все, что есть!! :) |
| Часовой пояс GMT +4, время: 00:10. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.