我很难理解如何在序列化的php数组中搜索特定值。
E.g。
我已经在usermeta表中存储了一周的日期,其中包含可用日期的密钥。
现在我想通过搜索表单显示给定日期内哪些用户可用。
我的序列化数组看起来像这样
a:6:{i:0;s:6:"Sunday";i:1;s:6:"Monday";i:2;s:7:"Tuesday";i:3;s:9:"Wednesday";i:4;s:8:"Thursday";i:5;s:6:"Friday";}
我不想使用%运算符。任何替代方案都是合适的。
任何帮助将不胜感激。感谢。
答案 0 :(得分:0)
我认为你的问题没有mysql解决方案。它可能与LIKE
查询“简单”php对象有关,但不能保证。对于搜索字符串,LIKE
查询将始终有效,但您无法保证字符串在正确的上下文中出现。
然而,没有一般的mysql解决方案。您需要在php中反序列化行,然后在对象/数组本身中进行搜索。
答案 1 :(得分:0)
取消序列化a:6:{i:0;s:6:"Sunday";i:1;s:6:"Monday";i:2;s:7:"Tuesday";i:3;s:9:"Wednesday";i:4;s:8:"Thursday";i:5;s:6:"Friday";}
然后按array_search('$search', $array);