Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Парсинг строки
Форумы портала PHP.SU » » Хранение данных, их вывод и обработка » Парсинг строки

Страниц (2): [1] 2 »
 

1. ArtDesire - 25 Января, 2012 - 11:45:07 - перейти к сообщению
Здравствуйте!
пожалуйста, помогите вытащить 76561198037192367 из http://steamcommunity.com/openid/id/76561198037192367
В строке могут меняться только цифры.
Заранее спасибо, и если несложно обьясните что что-то значит.
2. Zuldek - 25 Января, 2012 - 12:05:51 - перейти к сообщению
CODE (htmlphp):
скопировать код в буфер обмена
  1. $str = "http://steamcommunity.com/openid/id/76561198037192367";
  2. $reselt = substr($str,strrpos($str, "/")+1);

что делают функции читаем в мане по клику, копипастить его нет смысла.
3. Самогонщик - 25 Января, 2012 - 12:07:58 - перейти к сообщению
вот тоже подумал о субстр, но есть люди которые так не думают
4. ArtDesire - 25 Января, 2012 - 12:18:31 - перейти к сообщению
Очень благодарен! Закатив глазки
5. Zuldek - 25 Января, 2012 - 12:22:51 - перейти к сообщению
Самогонщик пишет:
вот тоже подумал о субстр, но есть люди которые так не думают

регулярками тяжелее по ресурсам. В пхпх то что можно делать строковыми функциями надо делать строковыми функциями.
разбивка в массив - загружаете память, надо будет удалять лишнее потом, если по уму.
upd. Буду признателен если кто-то укажет если я в чем-то не прав.
6. armancho7777777 - 25 Января, 2012 - 12:26:37 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. echo basename('http://steamcommunity.com/openid/id/76561198037192367');
7. Zuldek - 25 Января, 2012 - 12:28:51 - перейти к сообщению
armancho7777777 пишет:
PHP:
скопировать код в буфер обмена
  1. echo basename('http://steamcommunity.com/openid/id/76561198037192367');

Интересно как по скорости, какой метод быстрее. Этот однозначно изящнее.
8. armancho7777777 - 25 Января, 2012 - 12:30:51 - перейти к сообщению
Zuldek пишет:
Интересно как по скорости, какой метод быстрее.

Догадайтесь с 3х раз))
там 2 функции, а тут одна.
Да и она для этого и преднозначена.
9. Zuldek - 25 Января, 2012 - 12:37:43 - перейти к сообщению
CODE (htmlphp):
скопировать код в буфер обмена
  1. там 2 функции, а тут одна.

для php это увы не всегда значит быстрее Улыбка
10. Мелкий - 25 Января, 2012 - 12:50:53 - перейти к сообщению
Разницей можно смело пренебречь. У basename довольно простой исходник. К слову, с goto Ниндзя
11. armancho7777777 - 25 Января, 2012 - 12:51:15 - перейти к сообщению
Вам заняться не чем, Zuldek?
Зачем копать яму поворёжкой, если для этого лопата есть?

Мелкий пишет:
Разницей можно пренебречь

Конечно можно)))
Просто зачем писать в 2 строки изобретая велосибед,
если можно написать в одну, и при этом ничего не выдумывать.
12. Zuldek - 25 Января, 2012 - 12:57:31 - перейти к сообщению
armancho7777777 пишет:
Вам заняться не чем, Zuldek?
Зачем копать яму поворёжкой, если для этого лопата есть?

Мелкий пишет:
Разницей можно пренебречь

Конечно можно)))
Просто зачем писать в 2 строки изобретая велосибед,
если можно написать в одну, и при этом ничего не выдумывать.

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

Поэтому спор тут бессмысленный, вопрос был в том известна ли кому-то разница в скорости работы этих вариантов вот и все. Нет так нет. В существующем примере изящное решение лучше однозначно.
13. armancho7777777 - 25 Января, 2012 - 13:36:33 - перейти к сообщению
Zuldek пишет:
вопрос был в том известна ли кому-то разница в скорости работы этих вариантов
Вам и ответили.
14. Самогонщик - 25 Января, 2012 - 13:43:23 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $str = "http://steamcommunity.com/openid/id/76561198037192367";
  2. $reselt = substr($str,36);

А вот так можно быстро копать варежкой, чтобы за лопатой не бегать, главное точно знать где и сколько Язычок
15. ArtDesire - 25 Января, 2012 - 17:14:37 - перейти к сообщению
Большое спасибо всем желающим помочь! варианты очень интересны!
Останавлюсь скорей всего на basename, но хотелось бы узнать какой вариант(basename или substr) работает быстрее/лучше, может у какой-то функции исходники короче второй. Улыбка

 

Powered by ExBB FM 1.0 RC1