Manipulando arreglos
Clase 4 de 25 • Curso de PHP: Arreglos, Funciones y Estructuras de Control
Contenido del curso
Clase 4 de 25 • Curso de PHP: Arreglos, Funciones y Estructuras de Control
Contenido del curso
Carlos Eduardo Gomez García
Andrés Felipe Lopez gomez
Fernando Yutiz
Jimmy Buriticá Londoño
Serch Roa
Juan David Rueda Quiroga
Angel Fernando Quiroz Campos
Joel Dominguez Merino
Israel Josue Feric Godoy
Brandon Valentin Olaya Leguizamo
Luis Gabriel Rios Sauceda
Adan Steven Pedraza Castañeda
Fidel Parabacuto
Brandon Aray
Jose Gomez
Vicki Esther Avola
Jose Eduardo Carbonell Ledesma
Jonathan Fernando Santana Quispillo
Alejandro Patiño
LESTHER XITUMUL MANUEL
Belen Martínez
Christian Gómez
Juan Osio
Jan Carlos Jaimes Liones
¡Tienes el poder!
.
Excelente clase, yo no sabiaque existia tantas funciones para manipular arreglos
array_unique
Elimina valores duplicados de un array
<?php $entrada = array("4", "4", "3", "4", "3", "3"); $resultado = array_unique($entrada); var_dump($resultado); // array(2) { [0]=> string(1) "4" [2]=> string(1) "3" } ?>
Les dejo mis apuntes
<?php $edades = [12,14,18,21,24,40]; $nombre = "Nombre"; // count() : Saber el tamaño de un arreglo echo(count($edades)); /** * array_push(): Agregas uno o mas elemntos al final de un array */ array_push($edades,50); var_dump($edades); /** * is_array(): La función is_array() verifica si una variable es una matriz o no. * Esta función devuelve verdaderosi la variable es una matriz,de lo contrario devuelve falso */ if(is_array($nombre)){ echo "Si es un array"; }else{ echo "No es un array"; } /** * explode(): Convierte un string en un array * explode(separetor,string,limit); */ $frase = "Nunca pares de aprender"; var_dump(explode(" ",$frase)); /** * implode(): Convierte un array en un string * implode(separador,string); */ $palabras = ["Me","encanta","platzi","<3"]; var_dump(implode(" ",$palabras));
En lugar de array push es más eficiente $array[] = valor
El atajo a la web de documentación para PHP es https://php.net/NOMBRE_FUNCION
Por ejemplo https://php.net/array
Realmente la manipulación de arreglos en php brinda muchísimas funciones que ni me imaginaba existirían. También comentar que la documentación de PHP se ve muy buena, se ha realizado muy buen trabajo también en esa parte. . Comparto mis apuntes de clase de hoy :)
array_map y array_merge creo que serán muy útiles.
la página de php me voló la cabeza
echo "Encontre: " . array_search( 20, $edades);
busca un valor y devuelve la primera posición donde los encontró
En base a la función Explode pude hacer el siguiente experimento:
Solicito datos de entrada al usuario (en este caso folios de facturas) pidiéndole que los delimite por una coma "," para a si de esta manera pueda con la función explode convertir el string total del usuario en un array
<?php /* $edades = [ 12, 18, 20, ]; array_push($edades, 26); var_dump($edades); */ $facturas = readline("Ingresa tus facturas por folio recuerda usar una coma para separarlas \n" ); $facturas = explode(",", $facturas); echo "Las facturas: "; var_dump($facturas); echo "Han sido procesadas correctamente";
En PHP no sería mejor practica par declarar Variables el camelCase?
80 funciones para manipular arreglos? mucho más que JS ...
Recuerda que javascript inicialmente estaba diseñado para trabajar en el cliente, ahi no se pretendia manejar tanto con arreglos sino con comportamientos de las paginas web.
En cambio php esta diseñado para el backend, y al los arreglos ser principalmente utilizados para intercambiar informacion, tiene sentido que tenga tanta variedad de funciones para trabajar con ellos.
me encanta como nos inculcan escribir siempre las funciones full y los comandos sin usar atajos de teclado para aprender bien como se hacen las cosas
No sabía que PHP tiene tantas funciones en forma nativa. Vamos por más
array_combine me gustó:
$nombres = ['Jozedu', 'Macla', 'Gus', 'Sebas', 'Rodri', 'Petu'];
$edad = ['36', '34', '32', '21', '18', '15'];
$todo = array_combine($nombres,$edad);
print_r ($todo);
Hay funciones para manejar string?
Hola Jonathan, claro que sí, hay un montón de funciones. Te dejo el link con la documentación oficial de las funciones de manipulación de strings. Funciones de string
Una pregunta... Ya sé que para las constantes se utiliza mayúsculas; pero he visto que para variables “normales” utilizan la notación snake_case. ¿Por qué esta notación?
Yo intenté usar sort y rsort y almacenar el valor que estas dos funciones devolvían en variables, pero en su lugar me mandó bool(true) en ambas situaciones, leí la documentación y le pregunté a ChatGPT por qué del error y me dijo que al almacenar estos valores en funciones lo que estamos diciendo es "Si el arreglo se ha ordenado"
Les dejo el código por si quieren probarlo:
$elementos_repetidos = [44,22,22,44,33,11,55,55,66,77]; $elementos_unicos = array_unique($elementos_repetidos); //Devuelve true $elementos_ordenados_mayor_menor = sort($elementos_unicos); $elementos_ordenados_menor_mayor = rsort($elementos_unicos); var_dump($elementos_ordenados_mayor_menor); echo "<br>"; var_dump($elementos_ordenados_menor_mayor); echo "<br>"; //Devuelve el arreglo ordenado $mayor_menor = $elementos_unicos; $menor_mayor = $elementos_unicos; sort($mayor_menor); rsort($menor_mayor); var_dump($mayor_menor); echo "<br>"; var_dump($menor_mayor);
<?php $edades = [18, 20, 31, 40]; //count: cuenta la cantidad de elementos. #echo count($edades); //4 echo "<br>"; //array_push: agrega un elemento al final # echo array_push($edades, 13); //5 echo "<br>"; //is_array: Verifica si es un arreglo. /* $noEsArreglo = "No es"; var_dump(is_array($noEsArreglo)); //False echo "<br>"; */ //explode: Convierte una cadena en un array. /* $listaFrutas = "fresa,cereza,manzana"; $arrayListaFrutas = explode(",", $listaFrutas); var_dump($arrayListaFrutas); echo "{$arrayListaFrutas[1]} si es fruta."; */ // implode: Convierte un array a una cadena. $arrayListaFrutas = ["fresa","cereza","mazana"]; $listaFrutas = implode(",", $arrayListaFrutas); var_dump($listaFrutas); echo "<br>"; ```\<?php $edades = \[18, 20, 31, 40]; //count: cuenta la cantidad de elementos.#echo count($edades); //4echo "\<br>"; //array\_push: agrega un elemento al final# echo array\_push($edades, 13); //5echo "\<br>"; //is\_array: Verifica si es un arreglo./\* $noEsArreglo = "No es";var\_dump(is\_array($noEsArreglo)); //Falseecho "\<br>"; \*/ //explode: Convierte una cadena en un array./\* $listaFrutas = "fresa,cereza,manzana";$arrayListaFrutas = explode(",", $listaFrutas);var\_dump($arrayListaFrutas);echo "{$arrayListaFrutas\[1]} si es fruta."; \*/ // implode: Convierte un array a una cadena.$arrayListaFrutas = \["fresa","cereza","mazana"];$listaFrutas = implode(",", $arrayListaFrutas);var\_dump($listaFrutas);echo "\<br>";
A mi me gusto el array_map siento puede ser útil ya que aplica una función a cada elemento de uno o varios arreglos y te devuelve un nuevo arreglo con los resultados.
Por ejemplo imagínate que tienes un arreglo de precios y quieres agregar el símbolo de dólar a cada uno, puedes hacer algo como:
$precios = [10, 15, 20, 25]; $preciosFormateados = array_map(function($precio) { return '$' . $precio; }, $precios); print_r($preciosFormateados); ```Esto daría como resultado:  ```js Array ( [0] => $10 [1] => $15 [2] => $20 [3] => $25 ) ```Así puedes realizar transformaciones rápidas en arreglos sin necesidad de usar bucles.
$carro = ["index"=>"nuevo", "value"=>"otro"]; $adiciones = ["gasolina"=>true, "aceite"=>false]; $nuevo = array_merge($carro, $adiciones) // Resultado // $nuevo = ["index"=>"nuevo", "value"=>"otro", "gasolina"=>true, "aceite"=>false]