Можете ли вы написать следующее в одной строке кода?Развести и получить значение в одной строке кода
$foo = explode(":", $foo);
$foo = $foo[0];
Можете ли вы написать следующее в одной строке кода?Развести и получить значение в одной строке кода
$foo = explode(":", $foo);
$foo = $foo[0];
вы могли бы использовать stristr для этого:
$foo = stristr($foo,":",true);
где истинные наборы это, чтобы дать вам все, что перед первым экземпляром ":"
Спасибо, это красиво. –
Просто имейте в виду, что это будет работать только в PHP 5.3.0 и выше. –
Как я могу получить 2-й элемент, используя это? он бросает только первый элемент. – AMB
Да, это Возможное сделать с помощью list
:
list($foo) = explode(":", $foo);
Спасибо, это хороший подход. Однако мне бы хотелось увидеть подход, который не требует дополнительных методов. Что-то вроде explode (":", $ foo) [0]; –
PHP не поддерживает этот синтаксис. Вы вынуждены делать то, что хотите сделать в 2 строках. –
Я думаю, что PHP не разрешает '... [0]' код в отличие от Python или Perl. И именно поэтому «list» был добавлен в язык. –
В качестве альтернативы списку() вы можете использовать array_shift()
$foo = array_shift(explode(':', $foo));
См: http://stackoverflow.com/questions/13109/php-access-array-value-on-the-fly –
[В PHP 5.4 вы можете!] (HTTP: // PHP. net/migration54.new-features) – 2012-03-11 23:43:51