PHP - strpos

 
Vista:
sin imagen de perfil

strpos

Publicado por Jordi (3 intervenciones) el 07/10/2022 13:14:54
Buenas, alguien me ayuda a resolver esto?

$v="1,5,10,55,";

1
<?php if(strpos($v, "10") !== false) { } ?>

se cumple


$v="1,5,210,55,";

1
<?php if(strpos($v, "10") !== false) { } ?>

también se cumple y no debería, alguien me ayuda hacerlo mas preciso?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 393
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

strpos

Publicado por Jefferson (203 intervenciones) el 07/10/2022 21:50:38
hola que tal asi

1
2
3
$v="1,5,210,55,";
$v=explode(",",$v);
if(array_search('10', $v)) echo 'true'; else echo 'false';
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Ivan

strpos

Publicado por Ivan (118 intervenciones) el 08/10/2022 12:20:52
Hola,

como dice Jefferson, es una buena solución.

En cuanto a tu afirmación también se cumple y no debería, alguien me ayuda hacerlo mas preciso? es errónea por el siguiente motivo.

STRPOS: Encuentra la posición de la primera ocurrencia de un substring en un string
https://www.php.net/manual/es/function.strpos.php

El resultado de strpos es correcto, puesto que defines
1
$v="1,5,210,55,";
y eso es un string.

Otra cosa es que tu te imagines números separados por comas, pero eso la máquina no lo sabe. La solución de Jefferson hace lo que tú te imaginas, separa los números entre comas, los coloca en un Array y luego busca esos "números" en el Array.

Aunque todo esto suene a "tostón", lo digo porque la mayoría de problemas en programación es imaginarte una cosa cuando las instrucciones y las variables son otra.

Entender siempre con que tipo de datos estás tratando evita muchos problemas.

Un saludo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar