Obtener primer carácter de una cadena php

Discussion in 'Programación & Programación Web' started by CASM-1989, Oct 14, 2017.

Tags:
  1. CASM-1989

    CASM-1989 Usuario Nuevo nvl. 1
    27/41

    Joined:
    Feb 3, 2017
    Messages:
    4
    Likes Received:
    3
    Hola a tod@s portalian@s, estaba realizando un ejercicio con php , básicamente lo que quiero hacer es obtener los primer caracter de una cadena (en este caso de un nombre y apellido ) e creado el siguiente código para realizar esto funciona bien y logra el objetivo pero quería saber si existe alguna otra forma mas simple.

    como tiene que funcionar :
    si tengo el nombre de Jose Perez me debería devolver JP, para esto e creado el siguiente código:

    Code:
     $nombre   = explode(" ", 'Jose Perez');//busco el espacio para saber donde termina el nombre y empieza el apellido y que lo divida en array
            $contador = count($nombre);//cuento cuantos array se crearon a partir del nombre ingresado
            if($contador==1){ //realizo una comprobación, si solo existe 1 nombre la segunda letra quedara vacía
                $lera1  = substr($nombre[0], 0, 1);//extraigo la primera letra de la cadena 0 (Jose = J )
                $letra2  = '';//en el caso que no tuviera un apellido dejo vacío la segunda letra
            }else{//en caso contrario obtendré las dos letras
                $lera1  = substr($nombre[0], 0, 1);//extraigo la primera letra de la cadena 0 (Jose = J )
                $letra2 = substr($nombre[1], 0, 1);//extraigo la primera letra de la cadena 1 (Jose = P )
            }
            echo ($lera1.$letra2);// resultado sería JP
    Eso se me ocurrió para solucionar este ejercicio pero quería saber si hay alguna forma mas simple de hacerlo.
     
    fearman22 and elperroaullador like this.
  2. elperroaullador

    elperroaullador Usuario Casual nvl. 2
    27/41

    Joined:
    Nov 2, 2016
    Messages:
    116
    Likes Received:
    49
    Te sirve esto?

    Code:
    <?php
    $re = '/(?<=\s|^)./mi';
    $str = 'Jose Perez';
    
    preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
    
    var_dump($matches);
    ?>
     
    CASM-1989 likes this.
  3. CASM-1989

    CASM-1989 Usuario Nuevo nvl. 1
    2/41

    Joined:
    Feb 3, 2017
    Messages:
    4
    Likes Received:
    3
    Gracias esta super bueno , y mucho mas sencillo de lo que escribí yo, voy a documentarme mas sobre preg_match_all.