我有一个记录您的WAN和LAN IP的脚本,但它在打印的答案周围也有一堆不必要的字符。如何分割IP并摆脱这些字符?
印刷答案:{"ip":[["WANIP","LANIP"]]}
我想要的是2个不同的变量,1个用于打印wan,1个用于打印lan。
我尝试过使用str_split并且爆炸,也许我做得不对,或者我不能用这些做,所以任何答案都会有所帮助。
答案 0 :(得分:2)
$json = '{"ip":[["WANIP","LANIP"]]}';
$decoded = json_decode($json, true); // true means it will format it into an assoc array
然后,您只需使用$decoded['ip'][0][0]
和$decoded['ip'][0][1]
即可访问所需的字符串。
答案 1 :(得分:1)
看起来你的“打印答案”是JSON。在这种情况下,解析json然后提取所需的值。
答案 2 :(得分:1)
您可以使用json_decode()
之类的内容答案 3 :(得分:1)
试试这段代码:
$data = "{\"ip\":[[\"WANIP\",\"LANIP\"]]}";
$jdecode = json_decode($data,true);
echo $jdecode['ip'][0][0];
echo $jdecode['ip'][0][1];
希望这会有所帮助:)
答案 4 :(得分:1)
我首先要删除一些不必要的混乱,然后爆炸:
$response = '{"ip":[["WANIP","LANIP"]]}'; //or however you load your variable
$arryRemove = array('"', 'ip:[[', ']]}'); //specify an array of things to remove
$response = str_replace($arryRemove, "", $response);
$arryIPs = explode(",", $response);
$arryIPs[0]
将包含WANIP,
$arryIPs[1]
将包含LANIP