0

複数のキーを含む文字列を簡単に抽出する方法を探しています。文字列は、curlヘッダー応答からの結果です

echo $response['body'];
// status=2 reason=Invalid tariff/currency

望ましい結果:

$status == '2';
$reason == 'Invalid tariff/currency';

また

array (
    [status] => '2'
    [reason] => 'Invalid tariff/currency'
)
4

3 に答える 3

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);
}
于 2012-05-30T07:29:39.247 に答える
0

このようなもの、おそらく?

$parts = explode(" ", $response['body'], 2);
foreach($parts as $part)
{
   $tmp = explode("=", $part);
   $data[$tmp[0]] = $tmp[1];
}

var_dump($data);
于 2012-05-30T07:22:38.950 に答える
0

上記の文字列を指定すると、ローカル変数を作成し、 PHP変数変数$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
于 2012-05-30T07:27:47.963 に答える