Tengo un problema en el que no puedo explotar en función de los valores de la base de datos.

Los valores de mi base de datos pueden ser como tales

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

Quiero explotar basado en caracteres especiales y ponerlos en una matriz.

Por ejemplo

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

¿Cómo obtengo la expresión regular para que explote dinámicamente en función de los datos?

1
Mohan Prasad 13 dic. 2016 a las 19:30

2 respuestas

La mejor respuesta

explode() no puede manejar expresiones regulares. Busca preg_split() y el patrón correcto es (-|<|>). El patrón básicamente significa: coincidir con - o < o >. Entonces, el código debería verse así:

$array = preg_split("/ (-|<|>) /", Model::find()->findByPj($model->id));
2
simon 13 dic. 2016 a las 16:37

Puede usar preg_split(regex_pattern, string) así:

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

¡Espero que esto ayude!

1
Saumya Rastogi 13 dic. 2016 a las 16:35