function take($items, $n = 1) {
return array_slice($items, 0, $n);
}
take([1, 2, 3, 4, 5], 2); // [1, 2]
Mostrando entradas con la etiqueta Arrays. Mostrar todas las entradas
Mostrando entradas con la etiqueta Arrays. Mostrar todas las entradas
Arrays: Obtener solo los primeros elementos de un array
Hallar la mediana de un arrray de números
function median($numbers) {
sort($numbers);
$totalNumbers = count($numbers);
$mid = floor($totalNumbers / 2);
return ($totalNumbers % 2) === 0 ? ($numbers[$mid - 1] + $numbers[$mid]) / 2 : $numbers[$mid];
}
echo median([1, 3, 3, 6, 7, 8, 9]); // 6
echo "<br>";
echo median([1, 3, 6, 7, 3, 8, 9]); // 6 (da igual el orden)
echo "<br>";
echo median([1, 2, 3, 6, 7, 9]); // 4.5
Función para eliminar elementos de un array
function pull(&$items, ...$params) {
$items = array_values(array_diff($items, $params));
return $items;
}
$arr = ['uno','dos','tres','cuatro','cinco'];
pull($arr, 'dos','tres','cinco');
print_r($arr); // uno, cuatro
Convertir un array a objeto
<?php
$arr = array();
$arr = ["uno", "dos", "tres", "cuatro"];
$objAux = (object)$arr;
print_r($objAux);
?>
Arrays; Comparar dos arrays entre sí (diferencias entre ellos)
<!DOCTYPE html>
<html>
<body>
<?php
$arr1 = array(
"1"=>"2",
"2"=>"4",
"3"=>"6",
"4"=>"8",
"5" => "10",
"6" => "12",
"7" => "14",
"8" => "16",
"9" => "18"
);
$arr2 = array(
"1"=>"3",
"2"=>"6",
"3"=>"9",
"4"=>"12",
"5" => "15",
"6" => "18"
);
$result = array_merge(array_diff($arr1, $arr2), array_diff($arr2, $arr1));
// Muestra tanto los que no están en uno como los que no están en el otro
print_r($result); // Da el 2, 4, 8, 10, 14, 16, 3, 9, 15
// Si quisieramos mostrar solo los q faltan en el $arr2 sería:
$result = array_diff($arr1, $arr2);
print_r($result); // Da 2, 4, 8, 10, 14, 16
?>
</body>
</html>
// Si se quiere además comparar arrays asociativos por la clave se hace con array_diff_assoc
$arr1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$arr2 = array("a" => "green", "yellow", "red");
$result = array_diff_assoc($arr1, $arr2);
print_r($result);
// Da [b] => brown [c] => blue [0] => red
// el red lo saca pq en el $arr1 es [0] => "red" mientras que en $arr2 es [1] => "red"
// Sacar aquellos que tenga elementos en común
$arr1 = array("a" => "green", "red", "blue");
$arr2 = array("b" => "green", "yellow", "red");
$result = array_intersect($arr1, $arr2);
print_r($result); // Da [a] => green [0] => red
echo "<hr>";
$arr1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$arr2 = array("a" => "green", "b" => "yellow", "blue", "red");
$result = array_intersect_assoc($arr1, $arr2);
print_r($result); // Da [a] => green
Obtener un array a partir de una columna específica de una matriz bidimensional
function get_array_de_matriz($array, $clave){
$arrayResult = array();
foreach ($array as $key1 => $fila) {
foreach ($fila as $key2 => $valor) {
if($key2 == $clave){
$arrayResult[] = $valor;
}
}
}
return $arrayResult;
}
$query = "select codigo from mitabla";
$arr_codigos = $conn->load($query);
$arr_simple = get_array_de_matriz($arr_codigos, "codigo");
$arrayResult = array();
foreach ($array as $key1 => $fila) {
foreach ($fila as $key2 => $valor) {
if($key2 == $clave){
$arrayResult[] = $valor;
}
}
}
return $arrayResult;
}
$query = "select codigo from mitabla";
$arr_codigos = $conn->load($query);
$arr_simple = get_array_de_matriz($arr_codigos, "codigo");
Arrays: Serializar arrays (pasarlos a texto, y viceversa)
$cadena = serialize($arrLinks);
echo "array serializado:".$cadena."<hr>";
$arrAux = unserialize($cadena);
echo "array desserializado:<br>";
print_r($arrAux);
echo "array serializado:".$cadena."<hr>";
$arrAux = unserialize($cadena);
echo "array desserializado:<br>";
print_r($arrAux);
Arrays: Cómo eliminar un elemento concreto del array
<?php
unset($gran_array[5]); // Esto elimina el elemento del array
unset($matriz); // Esto elimina el array del todo
// Para eliminar uno por uno todos los elementos del array
foreach ($gran_array as $i=>$valor) {
unset($gran_array[$i]);
}
// Ojo: a pesar de eliminar los valores el indice sigue apuntando al siguiente
// por tanto, al añadir uno nuevo se añade a la posición 5
// para estos casos lo mejor reindexar con array_values y así empieza desde cero.
$gran_array = array_values($gran_array);
?>
Si tienes alguna duda o problema en PHP haz la pregunta en el comentario de esta entrada e intentaré responderte lo antes posible
unset($gran_array[5]); // Esto elimina el elemento del array
unset($matriz); // Esto elimina el array del todo
// Para eliminar uno por uno todos los elementos del array
foreach ($gran_array as $i=>$valor) {
unset($gran_array[$i]);
}
// Ojo: a pesar de eliminar los valores el indice sigue apuntando al siguiente
// por tanto, al añadir uno nuevo se añade a la posición 5
// para estos casos lo mejor reindexar con array_values y así empieza desde cero.
$gran_array = array_values($gran_array);
?>
Si tienes alguna duda o problema en PHP haz la pregunta en el comentario de esta entrada e intentaré responderte lo antes posible
Arrays: Cómo añadir un nuevo elemento a una matriz
<?php
$matriz = array(5=>1, 12=>2);
$matriz[] = 56; // se agrega al siguiente libre que encuentre, es decir, $matriz[13]=56;
?>
Si tienes alguna duda o problema en PHP haz la pregunta en el comentario de esta entrada e intentaré responderte lo antes posible
$matriz = array(5=>1, 12=>2);
$matriz[] = 56; // se agrega al siguiente libre que encuentre, es decir, $matriz[13]=56;
?>
Si tienes alguna duda o problema en PHP haz la pregunta en el comentario de esta entrada e intentaré responderte lo antes posible
Arrays: Cómo crear una matriz
<?php
// Una matriz es un array de otro array
$matriz = array("unamatriz" => array(6 => 5, 13 => 9, "a" => 42));
echo $matriz["unamatriz"][6]; // 5
echo $matriz["unamatriz"][13]; // 9
echo $matriz["unamatriz"]["a"]; // 42
// Si no especifica una clave para un valor dado, entonces es usado el máximo de los
// índices enteros, y la nueva clave será ese valor máximo + 1
array(5=>43,32,56,"b"=>12);
// en realidad la matriz internamente quedaría array(5=>43, 6=>32, 7=>56, "b"=>12);
// Otro ejemplo de matriz
$gran_array = array(
"directores" => array(1=>"Victor Fleming",2=>"John Ford",3=>"William Wyler"),
"actores" =>array("Robert Donat","James Stewart","Gary Cooper","James Cagney","Paul Lukas"),
"actrices" => array("Vivien Leigh",5=>"Ginger Rogers","Joan Fontaine"));
echo $gran_array["directores"][2]."<br>"; // John Ford
echo $gran_array["actores"][3]."<br>"; // James Cagney
echo $gran_array["actrices"][6]."<br>"; // Joan Fontaine
?>
Si tienes alguna duda o problema en PHP haz la pregunta en el comentario de esta entrada e intentaré responderte lo antes posible
// Una matriz es un array de otro array
$matriz = array("unamatriz" => array(6 => 5, 13 => 9, "a" => 42));
echo $matriz["unamatriz"][6]; // 5
echo $matriz["unamatriz"][13]; // 9
echo $matriz["unamatriz"]["a"]; // 42
// Si no especifica una clave para un valor dado, entonces es usado el máximo de los
// índices enteros, y la nueva clave será ese valor máximo + 1
array(5=>43,32,56,"b"=>12);
// en realidad la matriz internamente quedaría array(5=>43, 6=>32, 7=>56, "b"=>12);
// Otro ejemplo de matriz
$gran_array = array(
"directores" => array(1=>"Victor Fleming",2=>"John Ford",3=>"William Wyler"),
"actores" =>array("Robert Donat","James Stewart","Gary Cooper","James Cagney","Paul Lukas"),
"actrices" => array("Vivien Leigh",5=>"Ginger Rogers","Joan Fontaine"));
echo $gran_array["directores"][2]."<br>"; // John Ford
echo $gran_array["actores"][3]."<br>"; // James Cagney
echo $gran_array["actrices"][6]."<br>"; // Joan Fontaine
?>
Si tienes alguna duda o problema en PHP haz la pregunta en el comentario de esta entrada e intentaré responderte lo antes posible
Arrays: Cómo cambiar aleatoriamente todo el contenido de un array
<?php
$gran_array = range(1,20);
shuffle($gran_array);
for ($i=0; $i<sizeof($gran_array); $i++) {
echo "La posición ".$i." ahora contiene ".$gran_array[$i]."<br>";
}
?>
Si tienes alguna duda o problema en PHP haz la pregunta en el comentario de esta entrada e intentaré responderte lo antes posible
$gran_array = range(1,20);
shuffle($gran_array);
for ($i=0; $i<sizeof($gran_array); $i++) {
echo "La posición ".$i." ahora contiene ".$gran_array[$i]."<br>";
}
?>
Si tienes alguna duda o problema en PHP haz la pregunta en el comentario de esta entrada e intentaré responderte lo antes posible
Arrays: Cómo ordenar un array
<?php
$alumnos = array("uno", "dos", "tres", "cuatro", "cinco");
sort($alumnos);
foreach ($alumnos as $key => $val) {
echo "alumnos[".$key."]=".$val."<br>"; // los muestra en orden alfabético
}
RSORT // lo ordenaría alfabéticamente en orden inverso
rsort($alumnos);
KSORT: // lo ordena por el índice
$actores = array("1940"=>"James Stewart", "1937"=>"Spencer Tracy", "1951"=>"Humphrey Bogart","1945"=>"Ray Milland");
ksort($actores);
foreach ($actores as $key=>$val) {
echo $key." = ".$val."<br>"; // muestra 1937 ..., 1940 ..., 1945..., 1951...
}
KRSORT: // lo ordena por el índice pero en orden inverso
krsort($actores);
ASORT: // ordena arrays con índice pero lo ordena por los valores
asort($actores);
ARSORT: // Lo mismo que ASORT pero en orden inverso
arsort($actores);
NATSORT(): // igual q el sort normal pero en el orden numérico: 1, 2, 11, 12 (sort lo ordena alfabéticamente 1, 11, 12, 2)
?>
Si tienes alguna duda o problema en PHP haz la pregunta en el comentario de esta entrada e intentaré responderte lo antes posible
$alumnos = array("uno", "dos", "tres", "cuatro", "cinco");
sort($alumnos);
foreach ($alumnos as $key => $val) {
echo "alumnos[".$key."]=".$val."<br>"; // los muestra en orden alfabético
}
RSORT // lo ordenaría alfabéticamente en orden inverso
rsort($alumnos);
KSORT: // lo ordena por el índice
$actores = array("1940"=>"James Stewart", "1937"=>"Spencer Tracy", "1951"=>"Humphrey Bogart","1945"=>"Ray Milland");
ksort($actores);
foreach ($actores as $key=>$val) {
echo $key." = ".$val."<br>"; // muestra 1937 ..., 1940 ..., 1945..., 1951...
}
KRSORT: // lo ordena por el índice pero en orden inverso
krsort($actores);
ASORT: // ordena arrays con índice pero lo ordena por los valores
asort($actores);
ARSORT: // Lo mismo que ASORT pero en orden inverso
arsort($actores);
NATSORT(): // igual q el sort normal pero en el orden numérico: 1, 2, 11, 12 (sort lo ordena alfabéticamente 1, 11, 12, 2)
?>
Si tienes alguna duda o problema en PHP haz la pregunta en el comentario de esta entrada e intentaré responderte lo antes posible
Array: Cómo preguntar si un elemento está dentro de un array
<?php
if (in_array($var1, $gran_array)) {
echo "El elemento ".$var1." está dentro del array";
}
// Otra forma más sencilla (tanto para Arrays normales como asociativos)
Otro ejemplo:
if (in_array($var1, $gran_array)) {
echo "El elemento ".$var1." está dentro del array";
}
// Otra forma más sencilla (tanto para Arrays normales como asociativos)
$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');
$key = array_search('green', $array); // $key = 2;
$key = array_search('red', $array); // $key = 1;
Otro ejemplo:
$arr = array("1940" => 'James Stewart', "1941" => 'Gary Cooper', "1942" => 'James Cagney', "1943" => 'Paul Lukas');
echo "<br>KEY:".array_search('James Cagney', $arr); // da 1942
echo "<br>KEY:".array_search('pepe', $arr); // da vacío
Arrays: Volcar en orden inverso todo el contenido de un array a otro
<?php
$gran_array2 = array_reverse($gran_array);
?>
$gran_array2 = array_reverse($gran_array);
?>
Arrays: Colocar el puntero en la última posición del array
<?php
$gran_array = array("lunes", "martes", "miércoles", "jueves", "viernes");
end($gran_array);
echo current($gran_array); // mostraría viernes
?>
$gran_array = array("lunes", "martes", "miércoles", "jueves", "viernes");
end($gran_array);
echo current($gran_array); // mostraría viernes
?>
Arrays: Colocar el puntero en la primera posición del array para empezar a recorrerlo
<?php
$gran_array = array("lunes", "martes", "miércoles", "jueves", "viernes");
reset($gran_array);
echo current($gran_array); // mostraría lunes
?>
Si tienes alguna duda o problema en PHP haz la pregunta en el comentario de esta entrada e intentaré responderte lo antes posible
$gran_array = array("lunes", "martes", "miércoles", "jueves", "viernes");
reset($gran_array);
echo current($gran_array); // mostraría lunes
?>
Si tienes alguna duda o problema en PHP haz la pregunta en el comentario de esta entrada e intentaré responderte lo antes posible
Arrays: Rellenar un array con los valores de un intervalo
<?php
$gran_array = range(2,5); // mete el 2, 3, 4 y 5
?>
$gran_array = range(2,5); // mete el 2, 3, 4 y 5
?>
Suscribirse a:
Entradas (Atom)
