strrpos stripos str_find que para inside ejemplo php strpos

stripos - Simple función de PHP strpos no funciona, ¿por qué?



strpos php ejemplo (6)

¿Por qué no funciona este código independiente:

$link = ''https://google.com''; $unacceptables = array(''https:'',''.doc'',''.pdf'', ''.jpg'', ''.jpeg'', ''.gif'', ''.bmp'', ''.png''); foreach ($unacceptables as $unacceptable) { if (strpos($link, $unacceptable) === true) { echo ''Unacceptable Found<br />''; } else { echo ''Acceptable!<br />''; } }

Se imprime de forma aceptable cada vez que https está dentro de la variable $link .


En caso de duda, lea la documentación :

[strpos] Devuelve la posición numérica de la primera aparición de la aguja en la cadena del pajar.

Así que quieres probar algo más como:

// ... if (strpos($link, $unacceptable) !== false) {

Porque de lo contrario, strpos está devolviendo un número, y estás buscando un true booleano.


Strpos siempre devuelve la posición como busca "httpsL" en su cadena (''https://google.com'';) luego devuelve la posición 0 y PHP la evalúa como falsa.

Por favor vea este enlace: (Espero que sea muy útil para usted): strpos()


Su condición de falla es incorrecta.

strpos devuelve false si no se encuentra la coincidencia, por lo que debe verificar explícitamente

if (strpos($link, $unacceptable) !== false) {


puntales

la función puede devolver FALSO booleano, pero también puede devolver un valor no booleano que se evalúa como FALSO.

Así me gustó esto

if (strpos($link, $unacceptable) !== false) { //Code }


strpos() no devuelve verdadero cuando encuentra una coincidencia, devuelve la posición de la primera cadena coincidente. Vigilancia, si la coincidencia es el comienzo de la cadena, devolverá un índice de cero que se comparará como igual a falso a menos que use el operador ===.


if (strpos($link, $unacceptable)) { } else { /* What you want to do when it is false */ }