【发布时间】:2017-05-07 02:41:45
【问题描述】:
我的工作方式组合很复杂,我找不到任何关于如何完成它的参考。
我允许用户在数据库 (MySql) 中存储一组正则表达式值的表示,如下所示:
'["/^\d{5}([\-]?\d{4})?$/i", "/^([ABCEGHJKLMNPRSTVXY]\d[ABCEGHJKLMNPRSTVWXYZ])\ {0,1}(\d[ABCEGHJKLMNPRSTVWXYZ]\d)$/i"]'
现在在我的 PHP 代码中,我将它读入变量 $val,它看起来像这样:
'["/^\\d{5}([\\-]?\\d{4})?$/i", "/^([ABCEGHJKLMNPRSTVXY]\\d[ABCEGHJKLMNPRSTVWXYZ])\\ {0,1}(\\d[ABCEGHJKLMNPRSTVWXYZ]\\d)$/i"]'
并尝试利用 JSON 将其解码为实际数组:
$val = '{"unq":'.$val.'}';
$obs = json_decode($val);
return $obs->unq;
问题是,我在$obs->unq; 上得到了Notice: Trying to get property of non-object in...
我猜这与正则表达式的存储方式有关,但我不确定。浪费了太多时间,感谢您的帮助。
【问题讨论】:
-
您的问题“不清楚”。首先阅读how to ask,并学习阅读您的错误...为什么要从给定值的数组中获取对象属性???
-
我不是故意不小心给你的评论投票的。你没有看我的问题。请在投反对票之前完整阅读。正如您在
$val - '{"unq":'.$val.'}';行中看到的那样,我将其转换为对象,以便我可以利用 json 转换为对象形式。我希望通过$obj->unq;检索数组这是怎么回事??? -
已回答!我刚刚对你的目的的起源做了更多的解释(字符串正则表达式的需要,你用来做它的方式......等等)。我赞成您的评论以平衡,直到可以编辑您的帖子以恢复投票;-)
标签: php arrays json regex string