可能重复:
Parse error on explode('-','foo-bar')[0] (for instance)
在PHP中有返回数组的函数,例如:
$a = parse_url("https://stackoverflow.com/q/9461027/87015");
echo $a["host"]; // stackoverflow.com
我的问题是如何将上述两个语句组合成一个语句。这(在JavaScript中有效但不起作用):
echo parse_url("https://stackoverflow.com/q/9461027/87015")["host"];
注意:PHP 5.4之后可以使用函数数组解除引用;上面的代码按原样运行。
答案 0 :(得分:2)
你可以做一个小技巧,写一个简单的函数
function readArr($array, $index) {
return $array[$index];
}
然后像这样使用它
echo readArr(parse_url("http://stackoverflow.com/questions/9458303/how-can-i-change-the-color-white-from-a-uiimage-to-transparent"),"host");
答案 1 :(得分:1)
老实说,编写上述代码的最佳方式是:
$a = parse_url("http://stackoverflow.com/q/9461027/87015");
echo $a["scheme"];
echo $a["host"];
这不是我最初发布的内容吗?
是。根据上下文,您可能需要比$a
更好的名称(可能是$url
),但这是编写它的最佳方式。添加函数不是一个有吸引力的选项,因为当您重新访问代码或有人读取代码时,他们必须找到模糊的函数并找出它存在的原因。在这种情况下,请将其保留为母语。
替代代码:
但是,您可以组合使用echo语句:
$a = parse_url("http://stackoverflow.com/q/9461027/87015");
echo $a['scheme'], $a['host'];