1

オブジェクトの値にアクセスするためのプロパティとキー値を保持する文字列があります..

たとえば、文字列は「property_name[key1][key2][key3]」です。$obj->property_name[key1][key2][key3]

正規表現を使用して文字列を解析しようとしましたが、すべての試みが無駄になりました。

これまでのところ、私の正規表現は次のようになっていますが、key2 は取得されません。 ^(\w+)\[([^\]]+)\](?:(\[([^\]]+)\])+)

私は正しい軌道に乗っていますか、それともこれを行うためのより良い方法がありますか?

ありがとう。

4

2 に答える 2

1

正規表現は次のようになります。

^(\w+)(?:\[(\w+)\])+

次に、一致にはプロパティ名と配列キーが含まれます。キーの数が異なる場合は、これを使用して実際の値を取得します: Using a path to an array item

于 2013-03-06T08:16:49.270 に答える
0

代わりに AJAX を使用し、PHP で解析できるオブジェクトを含む有用な配列をサーバーに送信する必要があります。

var changed_values = [
                      {
                       'part_of_form': 'XX',
                       'field': 2,
                       'subfield': 3
                      },
        .......
                     ]

次に、PHP でループすることができます。

foreach($_POST['changed_values'] as $changed_value) {
  ........
}
于 2013-03-06T08:21:16.950 に答える