根据特殊字符展开

Explode based on special characters

我有一个问题,我无法根据数据库值展开。

我的数据库值可以是这样的

  1. 1-10
  2. < 10
  3. ">20

我想根据特殊字符展开,然后将它们放在一个数组中。

例如

$array = explode("/ (-) "/, Model::find()->findByPj($model->id)); 

如何让正则表达式根据数据动态展开

您可以这样使用 preg_split(regex_pattern, string)

$array = preg_split("(-)", 'some string here, lorem-ipsum'); 
var_dump($array);

希望对您有所帮助!

explode() 无法处理正则表达式。您正在寻找 preg_split(),正确的模式是 (-|<|>)。该模式基本上意味着:匹配 -<>。 所以代码应该是这样的:

$array = preg_split("/ (-|<|>) /", Model::find()->findByPj($model->id));