Php 如何将两行代码编写为一行
可能重复:Php 如何将两行代码编写为一行,php,Php,可能重复: 我必须在一个站点的许多页面上运行这两行代码——上面的代码很好用 我想把它改成一行,但尝试了很多次都没有成功 有什么想法吗?我只是把它做成一个函数,让它返回域名…我只是把它做成一个函数,让它返回域名…用PHP 5.4你可以写: $domainArray=explode('.',$\u服务器['HTTP\u REFERER'])[1] 你也可以这样写函数 function getByIndex($array, $index) { return $array[$index]; }
我必须在一个站点的许多页面上运行这两行代码——上面的代码很好用 我想把它改成一行,但尝试了很多次都没有成功
有什么想法吗?我只是把它做成一个函数,让它返回域名…我只是把它做成一个函数,让它返回域名…用PHP 5.4你可以写:
$domainArray=explode('.',$\u服务器['HTTP\u REFERER'])[1]
你也可以这样写函数
function getByIndex($array, $index) {
return $array[$index];
}
$domainname = getByIndex(explode('.', $_SERVER['HTTP_REFERER']), 1);
使用PHP 5.4,您只需编写:
$domainArray=explode('.',$\u服务器['HTTP\u REFERER'])[1]
你也可以这样写函数
function getByIndex($array, $index) {
return $array[$index];
}
$domainname = getByIndex(explode('.', $_SERVER['HTTP_REFERER']), 1);
PHP<5.4
// 2 is the index of the element you want to access
current(array_slice(explode(",", $input), 2, 1)));
PHP<5.4
// 2 is the index of the element you want to access
current(array_slice(explode(",", $input), 2, 1)));
这应该适用于PHP<5.4:
list(,$domainname) = explode('.', $_SERVER['HTTP_REFERER']);
这应该适用于PHP<5.4:
list(,$domainname) = explode('.', $_SERVER['HTTP_REFERER']);
这并不完全相同,因为: -你的剥离了最左边的子域 -在没有子域的情况下返回tld 反正
echo $host = parse_url($_SERVER['HTTP_REFERRER'], PHP_URL_HOST);
这并不完全相同,因为: -你的剥离了最左边的子域 -在没有子域的情况下返回tld 反正
echo $host = parse_url($_SERVER['HTTP_REFERRER'], PHP_URL_HOST);
你正在运行哪个版本的PHP?呃,为什么它必须是一行呢?如果你在很多页面上都有这个,那么你最好为它编写一个函数,该函数的名称反映了代码的含义,例如getDomainName()。那么它需要多少行就无关紧要了,你可以为它写一个很好的PHPDoc描述。你运行的是什么版本的PHP?呃,为什么它需要一行呢?如果你在很多页面上都有这样的内容,那么你最好为它写一个函数,它的名称可以反映代码的含义,例如getDomainName()。那么它需要多少行就不重要了,您可以为它编写一个很好的PHPDoc描述。