2009-11-16 2 views

ответ

17

вы могли бы использовать stristr для этого:

$foo = stristr($foo,":",true); 

где истинные наборы это, чтобы дать вам все, что перед первым экземпляром ":"

+1

Спасибо, это красиво. –

+6

Просто имейте в виду, что это будет работать только в PHP 5.3.0 и выше. –

+0

Как я могу получить 2-й элемент, используя это? он бросает только первый элемент. – AMB

5

Да, это Возможное сделать с помощью list:

list($foo) = explode(":", $foo); 
+0

Спасибо, это хороший подход. Однако мне бы хотелось увидеть подход, который не требует дополнительных методов. Что-то вроде explode (":", $ foo) [0]; –

+2

PHP не поддерживает этот синтаксис. Вы вынуждены делать то, что хотите сделать в 2 строках. –

+1

Я думаю, что PHP не разрешает '... [0]' код в отличие от Python или Perl. И именно поэтому «list» был добавлен в язык. –

7

В качестве альтернативы списку() вы можете использовать array_shift()

$foo = array_shift(explode(':', $foo)); 

 Смежные вопросы

  • Нет связанных вопросов^_^