使用一行代码爆炸并返回数组的第一个元素

时间:2013-08-03 06:57:00

标签: php string

   $domain_parts = explode('.', preg_replace('/\s+/', '', $_GET['domain']));
   $sld = $domain_parts[0];

我想将第1行和第2行的功能转换为1行代码。

$_GET['domain']提供的示例google.com

在一行中最干净的方法是什么?

3 个答案:

答案 0 :(得分:2)

您可以尝试使用list

list($domain_parts) = explode('.', preg_replace('/\s+/', '', $_GET['domain']));

它将直接返回$domain_parts[0]。您也可以尝试使用strtok

echo strtok(preg_replace('/\s+/', '', $_GET['domain']),  '.');

请参阅此STRTOK

答案 1 :(得分:0)

list($domain_parts) = explode('.', preg_replace('/\s+/', '', $_GET['domain']));

$domain_parts将包含数组的第一个元素。

你可以得到这样的第二个元素: -

list(,$domain_parts) = explode('.', preg_replace('/\s+/', '', $_GET['domain']));

有关详细信息,请参阅list()

或者你可以这样做: -

$domain_parts = explode('.', preg_replace('/\s+/', '', $_GET['domain']))[0];

如果你有PHP> = 5.4

答案 2 :(得分:0)

您也可以不使用像这样的正则表达式

$sld = str_replace(' ','',substr($_GET['domain'],0,strpos($_GET['domain'],'.')));