PHP中有如下字符串
$data = "ID=53KEY=23";
,我想把这个字符串的值赋给以下变量
$id = 53;
$key = 23;
我如何在php中做到这一点,请帮助?
此函数将适用于更通用的键/值输入,而不仅仅是ID/key
$input = "ID=53KEY=23";
$res = preg_split("/([[:upper:]]+)=([[:digit:]]+)/", $input, null, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
for ($i = 0 ; $i < count($res) ; $i += 2)
{
$res[$i] = strtolower($res[$i]);
$$res[$i] = $res[$i+1];
}
//$id = 53
//$key = 23
对于更通用的解决方案:
$data = "ID=53KEY=23AGE=318";
$array = array();
if(preg_match_all("/([A-Z]+)=('d+)/", $data, $matches)) {
$array = array_change_key_case(array_combine($matches[1], $matches[2]));
}
echo "ID: " . $array['id'] . ", KEY: " . $array['key'] . ", AGE: " . $array['age'];
试试这个:
$data = "ID=53KEY=23";
preg_match("/id=(?<id>'d+)&?key=(?<key>'d+)/i",$data,$array);
$id = $array["id"]; // 53
$key = $array["key"]; //23
print("id = $id, key = $key'n");