Cómo verificar si una cadena comienza con una cadena especificada en PHP

  1. Usando la función substr() para verificar si una cadena comienza con una cadena especificada en PHP
  2. Usando la función strpos() para verificar si una cadena comienza con una cadena especificada en PHP
  3. Usando la función strncmp() para verificar si una cadena comienza con una cadena especificada en PHP

En este artículo, presentaremos métodos para verificar si una cadena comienza con una cadena especificada en PHP.

  • Usando la función substr()
  • Usando la función strpos()
  • Usando la función strncmp()

Usando la función substr() para verificar si una cadena comienza con una cadena especificada en PHP

La función incorporada substr() se utiliza para acceder a una subcadena. La cadena se pasa como entrada y se devuelve la subcadena a la que queremos acceder. Podemos usar esta función para verificar si una cadena comienza con una cadena específica. La sintaxis correcta para usar esta función es la siguiente

substr($string, $startPosition, $lengthOfSubstring);

Esta función tiene tres parámetros. Los detalles de sus parámetros son los siguientes.

Parámetros Descripción
$string obligatorio La cadena original a cuya subcadena deseamos acceder.
$startPosition obligatorio Una variable entera. Indica la posición donde comenzará nuestra subcadena.
Si es positivo, entonces nuestra subcadena comienza desde el lado izquierdo de la cadena, es decir, desde el principio.
Si es negativo, entonces nuestra subcadena comienza desde el final.
$lengthOfSubstring Opcional Una variable entera. Le informa sobre la longitud total de la cadena desde la posición inicial.
Si se omite, se devuelve la subcadena desde la posición inicial hasta el final de la cadena.
Si es negativo, la cadena del final se elimina de acuerdo con su valor. Si es cero, se devuelve una cadena vacía.
<?php
  $string = "Mr. Peter";
  if(substr($string, 0, 3) === "Mr."){
      echo "The string starts with the desired substring.";
  }else 
      echo "The string does not start with the desired substring.";
?>

En el código anterior, queremos verificar si nuestra cadena comienza con Mr..

substr($string, 0, 3)

0 es el índice de inicio de la subcadena, o en otras palabras, la subcadena comienza desde el primer carácter de la cadena dada.

3 significa que la longitud de la subcadena devuelta es 3.

Si el inicio de la cadena es el mismo que Mr., mostrará ‘La cadena comienza con la subcadena deseada’.

Producción:

The string starts with the desired substring.

Usando la función strpos() para verificar si una cadena comienza con una cadena especificada en PHP

La función strpos() devuelve la posición de la primera aparición de una subcadena en la cadena dada. Podríamos usarlo para verificar si una cadena comienza con una cadena especificada.

Si el valor devuelto es 0, significa que la cadena dada comienza con la subcadena especificada. De lo contrario, la cadena no comienza con la subcadena marcada.

strpos() es una función sensible a mayúsculas y minúsculas. La sintaxis correcta para usar esta función es la siguiente.

strpos($string, $searchString, $startPosition);

Tiene tres parámetros. Los detalles de sus parámetros son los siguientes.

Parámetro Descripción
$string obligatorio Es la cadena cuya subcadena deseamos encontrar.
$searchString obligatorio Es la subcadena que se buscará en una cadena.
$startPosition Opcional Es la posición en la cadena desde donde comenzará la búsqueda.
<?php
  $string = "Mr. Peter";
  if(strpos( $string, "Mr." ) === 0){
      echo "The string starts with the desired substring.";
  }else 
      echo "The string does not start with the desired substring.";
?>

Aquí, hemos comprobado si nuestra cadena comienza con Mr. al encontrar la primera aparición de Mr..

Producción:

The string starts with the desired substring.

Usando la función strncmp() para verificar si una cadena comienza con una cadena especificada en PHP

La función incorporada strncmp() compara dos cadenas dadas. Esta función también distingue entre mayúsculas y minúsculas. La sintaxis correcta para usar esta función es la siguiente.

strncmp($string1, $string2, $length);

Tiene tres parámetros. Los detalles de sus parámetros son los siguientes.

Parámetros Descripción
$string1 obligatorio Es la primera cadena que se compara.
$string2 obligatorio Es la segunda cadena que se compara.
$length obligatorio Es la longitud de la cadena a comparar.

Devuelve cero si ambas cadenas son iguales. Esta es una función sensible a mayúsculas y minúsculas.

<?php
  $string = "Mr. Peter";
  if(strncmp($string, "Mr.", 3) === 0){
      echo "The string starts with the desired substring.";
  }else 
      echo "The string does not start with the desired substring.";
?>

Aquí, se comparan las dos cadenas. La longitud de las cadenas a comparar es tres.

Producción:

The string starts with the desired substring.

La versión sin distinción entre mayúsculas y minúsculas de strncmp es strncasecmp. Compara los primeros n caracteres de las dos cadenas dadas independientemente de sus casos.

<?php
  $string = "mr. Peter";
  if(strncasecmp($string, "Mr.", 3) === 0){
      echo "The string starts with the desired substring.";
  }else 
      echo "The string does not start with the desired substring.";
?>

Producción:

The string starts with the desired substring.

Artículo relacionado - PHP String

  • Cómo comprobar si una cadena contiene una subcadena en PHP
  • Concatenación de cadenas en PHP