我需要通过一些验证来处理变量,以返回我稍后可以在我的脚本中使用的值。我的$ var来自GET。
示例:变量可能如下所示。
$var = 'main server app1 stop'
我需要按如下方式拆分字符串。
main server
需要查找如下所示的列表并返回IP地址。
192.168.10.1 = 'main server'
192.168.10.2 = 'backup server'
app1
也需要在列表中查找并返回匹配。
service httpd = 'app1'
service iptables = 'app2'
然后将相关的比赛带回来。在这个例子中,我希望返回以下内容。
192.168.10.1 service httpd stop
我希望我已经足够清楚地解释了这一点。如果没有告诉我需要详细说明的内容。
谢谢!
答案 0 :(得分:1)
请,请阅读更多关于explode()和PHP中的数组的信息,但这里是奶酪:
$var = 'main server app1 stop';
$server = array(
'main server' => '192.168.10.1',
'backup server' => '192.168.10.2',
);
$service = array(
'app1' => 'service httpd',
'app2' => 'service iptables',
);
$arr = explode(' ', $var);
echo $server["$arr[0] $arr[1]"] . ' ' . $service[$arr[2]] . ' ' . $arr[3];
输出:
192.168.10.1 service httpd stop
答案 1 :(得分:0)
我建议做以下
$server = (strpos($var,'main') !== false) ? '192.168.10.1'
: '192.168.10.2' ;
$service = (strpos($var,'app1') !== false) ? 'httpd' : 'iptables';
$output = $server . ' service ' . $service . ' stop';