こんにちは私は正規表現に問題があります。例えば文字列の配列を取得する正規表現
私はこのテキスト
$textMessage = "|nif|<00/00/03364301P>|lat|<not set>|long|<not set>|deviceId|<1F26DE6896ADC816-001346E604E7>|messageId|<70154>";
を持っていると私はこの
$data = array(
array("nif" => "00/00/03364301P"),
array("lat" => "not set") // etc
ような配列を取得したい)
文字列からすべてのデータと、私はこの機能を試してみました。
function getArrayDataSMS($textMessage){
$regexType = '/\|([a-zA-Z]+)\||<[\d]+>/';
$rowValueData = preg_match_all($regexType, $textMessage, $matches, PREG_SET_ORDER);
foreach ($matches as $key => $match) {
$arrayData[trim($match[1])] = trim($match[2]);
}
return $arrayData;
}
が、応答は
array(2) {
[0]=>
string(5) "|nif|"
[1]=>
string(3) "nif"
}
array(3) {
[0]=>
string(6) "<4545>"
[1]=>
string(0) ""
[2]=>
string(4) "4545"
}
これについては任意のアイデア正しくないのですか? 。
またはそれを爆発、シフト、2本ずつチャンク、新しいコンテナ – Ghost
にforeachの割り当てはここで良い方法です。 –
多次元配列か簡単な連想配列が本当に必要ですか? –