解析某个字符串只用PHP中的空格分隔
Parsing a certain string only separated with spaces in PHP
我有一个字符串:
Type Type1 IP 192.168.0.1 Authorized No AllowMultiple Yes
所以这个字符串有变量:
类型、IP、授权和 AllowMultiple
- Type 的值为 Type1
- IP 的值为 192.168.0.1
- 授权的值为否
- AllowMultiple 的值为 Yes
我如何仅从该字符串格式进行解析以获取每个变量的值?
例如,根据上面的字符串,我怎么能说:
$type = value_from_string('Type', $str);
$arr = explode(' ', 'Type Type1 IP 192.168.0.1 Authorized No AllowMultiple Yes');
将为您提供一个包含这些部分的数组。从那里您可以了解如何创建 value_from_string
函数。
$s = "Type Type1 IP 192.168.0.1 Authorized No AllowMultiple Yes";
$s = explode(' ', $s);
$arr = [];
for($i=0;$i<count($s);$i+=2) $arr[$s[$i]] = $s[$i+1];
print_r($arr);
给我们:
Array
(
[Type] => Type1
[IP] => 192.168.0.1
[Authorized] => No
[AllowMultiple] => Yes
)
如果您想要像 $Type
这样的普通变量,您可能需要添加 extract($arr)
。
实现它的另一种方法是删除数组并动态创建变量:
for($i=0;$i<count($s);$i+=2) $$s[$i] = $s[$i+1];
echo $Type;
echo $IP;
我有一个字符串:
Type Type1 IP 192.168.0.1 Authorized No AllowMultiple Yes
所以这个字符串有变量: 类型、IP、授权和 AllowMultiple
- Type 的值为 Type1
- IP 的值为 192.168.0.1
- 授权的值为否
- AllowMultiple 的值为 Yes
我如何仅从该字符串格式进行解析以获取每个变量的值?
例如,根据上面的字符串,我怎么能说:
$type = value_from_string('Type', $str);
$arr = explode(' ', 'Type Type1 IP 192.168.0.1 Authorized No AllowMultiple Yes');
将为您提供一个包含这些部分的数组。从那里您可以了解如何创建 value_from_string
函数。
$s = "Type Type1 IP 192.168.0.1 Authorized No AllowMultiple Yes";
$s = explode(' ', $s);
$arr = [];
for($i=0;$i<count($s);$i+=2) $arr[$s[$i]] = $s[$i+1];
print_r($arr);
给我们:
Array
(
[Type] => Type1
[IP] => 192.168.0.1
[Authorized] => No
[AllowMultiple] => Yes
)
如果您想要像 $Type
这样的普通变量,您可能需要添加 extract($arr)
。
实现它的另一种方法是删除数组并动态创建变量:
for($i=0;$i<count($s);$i+=2) $$s[$i] = $s[$i+1];
echo $Type;
echo $IP;