我想在PHP中连接变量后的字符串。点运算符不起作用。
20
输出应该是:
message()
请建议。 ""运营商不工作。
答案 0 :(得分:0)
$cmd = "cmd /c curl http://" . $server["server_name"] . ":" . $server["port"] . "/solr" . "/" . $core . "/admin/registry.jsp";
您在变量中使用双引号表示数组键并标识文本字符串。您可以在语法中看到它突出显示它将这些部分解析为字符串而不是键作为变量/数组的一部分。您应该使用单引号或使用花括号来声明变量。
尝试
$cmd = "cmd /c curl http://{$server['server_name']}:{$server['port']}/solr/{$core}/admin/registry.jsp";
OR
$cmd = "cmd /c curl http://" . $server['server_name'] . ":" . $server['port'] . "/solr/" . $core . "/admin/registry.jsp";
答案 1 :(得分:0)
您无法使用$_SERVER
访问超全局变量$server
,为此您必须使用$_SERVER
,要访问服务器名称,您应使用$_SERVER["SERVER_NAME"]
并访问服务器端口,您应该使用$_SERVER["SERVER_PORT"]
将其更改为:
$cmd = "cmd /c curl http://" . $server["server_name"] . ":" . $server["port"] . "/solr" . "/" . $core . "/admin/registry.jsp";
:此:强>
$cmd = "cmd /c curl http://" . $_SERVER["SERVER_NAME"] . ":" . $_SERVER["SERVER_PORT"] . "/solr/" . $core . "/admin/registry.jsp";
试试这个:
<?php
$get_cont=array("<a href='www.google.com'>");
foreach ($get_cont as $line)
{
#var_dump($line);
if (strpos($line, "a href"))
{
#echo "$line";
$get_core++;
if ($get_core == 3)
{
#echo $line;
break 1;
}
}
}
;
$array = explode(' ', $line);
$core = $array[count($array) - 1];
$core = substr_replace($core, "", -1);
echo $cmd = "cmd /c curl http://" . $_SERVER["SERVER_NAME"] . ":" . $_SERVER["SERVER_PORT"] . "/solr/" . $core . "/admin/registry.jsp";
答案 2 :(得分:0)
以下为我工作。我将值作为字符串处理,而不是将其存储在数组中:
#echo $line;
$core="";
$core_temp="";
$core_temp=strip_tags($line);
$core=substr($core_temp, strpos($core_temp, " ") + 1);
#$array=explode(' ', $line);
#$core = $array[count($array)-1];
#$core=substr_replace($core, "", -1);
#var_dump($core);
#echo "$core";