如何将两行代码编写为一行

时间:2011-12-25 05:40:47

标签: php

  

可能重复:
  explode without variables

$domainArray = explode('.', $_SERVER['HTTP_REFERER']);
$domainname = $domainArray[1];

我必须在网站的许多页面上运行这两行代码 - 上面的代码工作正常。

我想将其更改为一行并尝试多次失败。

有什么想法吗?

5 个答案:

答案 0 :(得分:3)

使用PHP 5.4你可以写: $domainArray = explode('.', $_SERVER['HTTP_REFERER'])[1]

你也可以写这样的功能

function getByIndex($array, $index) {
    return $array[$index];
}

$domainname = getByIndex(explode('.', $_SERVER['HTTP_REFERER']), 1);

答案 1 :(得分:3)

这适用于PHP< 5.4:

list(,$domainname) = explode('.', $_SERVER['HTTP_REFERER']);

答案 2 :(得分:1)

我只是让它成为一个函数并让它返回域名...

答案 3 :(得分:1)

PHP< 5.4

// 2 is the index of the element you want to access
current(array_slice(explode(",", $input), 2, 1)));

答案 4 :(得分:1)

这不完全相同,因为: -yours剥离最左边的子域 - 如果没有子域,则返回tld

反正

echo $host = parse_url($_SERVER['HTTP_REFERRER'], PHP_URL_HOST);