我有一个字符串,它保存属性和键值以访问对象上的值..
例如,字符串是“property_name[key1][key2][key3]”,它与$obj->property_name[key1][key2][key3]
我一直在尝试用正则表达式解析字符串,但我所有的尝试都白费了。
到目前为止,我的正则表达式看起来像这样,但它不会得到 key2。
^(\w+)\[([^\]]+)\](?:(\[([^\]]+)\])+)
我走在正确的轨道上还是有更好的方法可以尝试?
谢谢。
正则表达式可能如下所示:
^(\w+)(?:\[(\w+)\])+
然后您的匹配项将包含属性名称和数组键。如果键的数量不同,请使用它来获取实际值:Using a path to an array item
您应该改用 AJAX 并将一个包含对象的有用数组发送到您可以使用 PHP 解析的服务器。
var changed_values = [
{
'part_of_form': 'XX',
'field': 2,
'subfield': 3
},
.......
]
然后在 PHP 中你可以遍历它:
foreach($_POST['changed_values'] as $changed_value) {
........
}