viernes, 30 de enero de 2009

Manual de PHP 35. Extraer información: Recuentos en Arrays

Recuento de los valores contenidos en una matriz

Algunas de las posibilidades de obtener información sobre los contenidos de un array son las siguientes:

$n=array_count_values(ar)

Con array_count_values la variable $n será un array que tendrá como índices cada uno de los valores distintos que contenga el array ar, y como valores el resultado de contar el número de veces que se repite cada uno de los valores contenidos en el array inicial.

Distingue entre mayúsculas y minúsculas.

Cuando el array inicial (ar) contiene números enteros (sea ar escalar o asociativo) $n será un array escalar. En caso contrario, será asociativo.

Búsqueda de elementos en un array

clav=array_keys(arr)

Devuelve un array escalar (clav) que contiene como valores los índices del array inicial (arr).

clav=array_keys(arr, valor)

Devuelve un array escalar (clav) que contiene como valores los índices de los elementos del array inicial cuyo valor coincide con el indicado mediante el parámetro valor.

valores=array_values(arr)

Esta función recoge en una nueva matriz (valores) todos los valores contenidos en otro array.

Es una forma de conversión de un array asociativo en otro escalar.


Recuento de valores

<?
$a=array(1,2,3,1,1,2,3,3,4,4,4,0,1);
$b=array("blanco","azul","blanco","blanco","azul","Blanco","Azul");
$c=array(
"a"=>"rojo",
"b" =>"verde",
"c" =>"rojo",
"d" =>"rojo",
"e" =>"verde",
"f" =>"Rojo",
"g" =>"Verde")
;
echo "<h3>Cuenta valores del array()</h3>";
$contador=array_count_values($a);
foreach($contador as $valor=>$veces){
echo "El valor ",$valor," se repite ",
$veces," en la matriz a<br>";
}
echo $contador[0],"<br>";
echo $contador[1],"<br>";
echo $contador[2],"<br>";
echo $contador[3],"<br>";
echo $contador[4],"<br>";
$contador1=array_count_values($b);
foreach($contador1 as $valor=>$veces){
echo "El valor ",$valor," se repite ",
$veces," en la matriz a<br>";
}
echo $contador1["blanco"],"<br>";
echo $contador1["azul"],"<br>";
echo $contador1["Azul"],"<br>";
echo $contador1["Blanco"],"<br>";
$contador2=array_count_values($c);
foreach($contador2 as $valor=>$veces){
echo "El valor ",$valor," se repite ",$veces," en la matriz a<br>";
}
echo $contador2["rojo"],"<br>";
echo $contador2["Verde"],"<br>";
echo $contador2["verde"],"<br>";
echo $contador2["Rojo"],"<br>";
echo "$lt;h3>Devuelve las claves de un array$lt;/h3>";
$claves=array_keys($a);
foreach($claves as $v){
echo "El valor ",$v," es una de las claves$lt;br>";
}
$claves1=array_keys($a,1);
foreach($claves1 as $v){
echo "El valor ",$v," es una de las claves de elementos
de la matriz cuyo valor es <b>1</b><br>";
}
echo "<h3>Devuelve los valores de un array</h3>";
$valores=array_values($c);
foreach($valores as $v){
echo ,$v," Este es un de los valores de
de la matriz c<br>";
}
?>








Fuente:
Página del ifstic: http://www.isftic.mepsyd.es/formacion/enred/

No hay comentarios: