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