我正在寻找一种方法来轻松提取包含多个键的字符串。字符串是卷曲标题响应的结果
echo $response['body'];
// status=2 reason=Invalid tariff/currency
期望的结果:
$status == '2';
$reason == 'Invalid tariff/currency';
或
array (
[status] => '2'
[reason] => 'Invalid tariff/currency'
)
答案 0 :(得分:0)
也许是这样的事情?
$parts = explode(" ", $response['body'], 2);
foreach($parts as $part)
{
$tmp = explode("=", $part);
$data[$tmp[0]] = $tmp[1];
}
var_dump($data);
答案 1 :(得分:0)
根据上面的字符串,您可以使用PHP Variable variables创建局部变量$status
和$reason
。看看这段代码:
$str = 'status=2 reason=Invalid tariff/currency';
foreach (explode(' ', $str, 2) as $item) {
list($key, $val) = explode('=', $item);
$$key = $val;
}
// Now you have these
echo $status; // 2
echo $reason; // Invalid tariff/currency
答案 2 :(得分:0)
试试这个,它只适用于您的示例,如果您有可能从不同格式中提取数据,我建议最好使用preg_match。
$response['body'] = "status=2 reason=Invalid tariff/currency";
$responseArray = explode(" ", $response['body'], 2);
foreach($responseArray as $key => $value){
$requiredOutput = explode("=",$value);
print_r($requiredOutput);
}