Flex から配列を PHP スクリプトに送信します。分割する文字列は [F1, 3, true][Urg, 4, false] のようなものです。これらの情報を使用して、レコードを mySql データベースに更新します。
たとえば、[F1, 3, true] は [Name, Id, Visible] のようなレコードです。
しかし、情報を使用するために分割する方法はありません。
助けてくれてありがとう
Flex から配列を PHP スクリプトに送信します。分割する文字列は [F1, 3, true][Urg, 4, false] のようなものです。これらの情報を使用して、レコードを mySql データベースに更新します。
たとえば、[F1, 3, true] は [Name, Id, Visible] のようなレコードです。
しかし、情報を使用するために分割する方法はありません。
助けてくれてありがとう
データ文字列にコンマや角括弧が含まれていないことを願っています。これが不可能になる可能性があります。しかし、それらのどれもないと仮定します:
preg_match_all('/\[([^\]]*)\]/', $text, $matches);
return array_map(function($match) {
return array_map('trim', explode(',', $match));
}, $matches[1]);
(これは、PHP 5.3 以降でのみサポートされているクロージャーを使用します。古いバージョンを使用している場合は、非常に簡単に foreach ループに変更できます。)
本当にその形式にこだわるなら、preg_match を試すことができます。
$string = '[F1, 3, true][Urg, 4, false][asd, 1337, TrUe]';
preg_match_all('/\[(\w+),\s*?(\d+),\s*?(true|false)\]/i', $string, $matches, PREG_SET_ORDER);
これにより、2 次元配列が得られます。配列の各要素は配列です。各配列の最初の要素は一致データ行で、次の要素は解析されたデータです。要素は、必要な数の空白文字で区切ることができます。ブール値の大文字と小文字は関係ありません。
ブラケットを削除できます。
$txt = substr($txt, 1, -1);
そして爆発します:
$array = explode(',', $txt)