https://manuais.iessanclemente.net/index.php?title=Arrays&feed=atom&action=historyArrays - Historial de revisiones2024-03-29T15:44:43ZHistorial de revisiones de esta página en el wikiMediaWiki 1.36.2https://manuais.iessanclemente.net/index.php?title=Arrays&diff=65009&oldid=prevVeiga: /* Algunhas funcións útiles sobre arrays */2018-11-13T11:24:49Z<p><span dir="auto"><span class="autocomment">Algunhas funcións útiles sobre arrays</span></span></p>
<p><b>Página nueva</b></p><div>[[Category:Estructura da Linguaxe|07 - Arrays]]<br />
<br />
Un ''array'' en PHP é en realidade un mapa ordenado. Un mapa é un tipo de datos que asocia valores con claves. Este tipo é optimizado para varios usos diferentes; pode ser usado como unha matriz real, unha lista (vector), táboa asociativa (caso particular de implementación dun mapa), diccionario, colección, pila, cola e probablemente mais. Xa que os valores dunha matriz poden ser outras matrices, tamén é posible crear árbores e matrices multidimensionais.<br />
<br />
== Modos de Crear un array ==<br />
<br />
=== Empregando a sintaxe de corchetes cadrados ===<br />
<br />
Poderemos crear un array de forma rápida (dende a versión de PHP 5.4 empregando corchetes.<br />
<br />
<source lang="php"><br />
$datos= ['casa','coche','gato'];<br />
</source><br />
<br />
Se queremos facer un '''array asociativo''' do tipo '''chave => valor''' con este formato:<br />
<br />
<source lang="php"><br />
// chave pode ser un ''integer'' ou ''string'' <br />
// valor pode ser calquera valor<br />
<br />
$datos= [<br />
'propietario' => 'Antonio',<br />
'domicilio' => 'Santiago de Compostela',<br />
'idade' => 45<br />
];<br />
<br />
</source><br />
<br />
Se '''$matriz''' non existe aínda, será creada, así que este é tamén un xeito de crear unha matriz. Para modificar un certo valor, simplemente hai que asignar un novo valor a un elemento usando a súa clave. Para eliminar unha parella clave/valor, débese empregar a función '''unset()''' sobre ela. <br />
<br />
Vexamos un exemplo: <br />
<source lang="php"><br />
<?php<br />
//Crear o array $produtos:<br />
$produtos[0] = "Azúcar";<br />
$produtos[1] = "Aceite";<br />
$produtos[2] = "Arroz";<br />
<br />
?><br />
</source><br />
<br />
=== Empregando a construción '''''array()''''' ===<br />
Un valor array pode ser creado pola construción de linguaxe '''array()'''.<br />
<br />
Esta toma un certo número de parellas '''chave => valor''' separadas con coma.<br />
<br />
*'''chave''' pode ser un ''integer'' ou ''string''<br />
*'''valor''' pode ser calqueira valor<br />
<br />
<source lang="php"><br />
<?php<br />
$matriz = array("negocio" => "bar", 12 => true);<br />
<br />
echo $matriz["negocio"]; // bar<br />
echo $matriz[12]; // 1<br />
?><br />
</source><br />
<br />
:: Se non se especifica unha clave para un valor dado, entón úsase o máximo dos índices enteiros, e a nova clave será ese valor máximo mais 1. Se se especifica unha clave que xa ten un valor asignado, ese valor será sobrescrito.<br />
<source lang="php"><br />
<?php<br />
<br />
// Esta matriz é a mesma que ...<br />
$datos = array(5 => 43, 32, 56, 'b' => 12, 60);<br />
echo "{$datos[5]}"; // Amosará 43<br />
echo "<br/>{$datos[6]}"; // Amosará 32<br />
echo "<br/>{$datos[7]}";// Amosará 56<br />
echo "<br/>{$datos[8]}";// Amosará 60<br />
echo "<br/>{$datos['b']}<hr/>"; // Amosará 12<br />
<br />
// ...esta outra matriz<br />
array(5 => 43, "b" => 12, 7 => 56, 6 => 32, 60);<br />
echo "{$datos[5]}"; // Amosará 43<br />
echo "<br/>{$datos[6]}"; // Amosará 32<br />
echo "<br/>{$datos[7]}";// Amosará 56<br />
echo "<br/>{$datos[8]}";// Amosará 60<br />
echo "<br/>{$datos['b']}"; // Amosará 12<br />
<br />
?><br />
</source><br />
<br />
:: Así, outro xeito de inicializar o array $productos sería o seguinte:<br />
<br />
<source lang="php"><br />
<?php<br />
$produtos = array("Azúcar", "Aceite", "Arroz");<br />
<? <br />
</source><br />
<br />
== Mostrar o contido do array ==<br />
<br />
* Mostrar o contido do array $productos có bucle '''for''': <br />
<br />
<source lang="php"><br />
// Cando se trata dun array simple que non é asociativo.<br />
<br />
for ($i=0; $i<3; $i++)<br />
{<br />
echo $produtos[$i] , "<br />";<br />
}<br />
<br />
</source><br />
<br />
* Mostrar o contido do array $produtos coa estructura '''[http://es1.php.net/manual/es/control-structures.foreach.php foreach]'''.<br />
<source lang="php"><br />
<br />
// Para arrays sinxelos<br />
foreach (expresión_array as $valor)<br />
sentenzas<br />
<br />
// Para arrays asociativos evaluando a chave e o seu valor.<br />
foreach (expresión_array as $chave => $valor)<br />
sentenzas<br />
<br />
// A estrutura foreach permítenos iterar sobre os arrays e obxectos evaluando os índices ou claves<br />
// e o seu valor correspondente.<br />
<br />
echo "<ul>";<br />
foreach ( $produtos as $p ) <br />
{ <br />
echo "<li>", $p , "</li>";<br />
}<br />
echo "</ul>";<br />
</source><br />
<br />
* Se queremos imprimir unha posición dun array asociativo, teremos que '''empregar chaves''' para envolver ese array. Isto farémolo '''cando empregemos comillas dobres''', por exemplo:<br />
<source lang="php"><br />
echo "Contido da país con código sp: {$paises["sp"]}";<br />
echo "Contido da país con código sp: {$paises['sp']}";<br />
<br />
// Ou ben concatenando.<br />
echo "Contido da país con código sp: ",$paises['sp'];<br />
echo "Contido da país con código sp: ".$paises['sp'];<br />
<br />
</source><br />
<br />
* Se queremos imprimir o valor dunha variable array para ver toda a estructura podemos facer:<br />
<br />
<source lang="bash"><br />
echo '<pre>';<br />
<br />
// Amosando o tipo de datos que contén en cada posición:<br />
var_dump($variableArray);<br />
<br />
// ou tamén, visualizando soamente os contidos:<br />
print_r($variableArray);<br />
<br />
echo '</pre>';<br />
<br />
</source><br />
<br />
== Paso de argumentos á funcións ==<br />
http://php.net/manual/es/functions.arguments.php<br />
<br />
== Algunhas funcións útiles sobre arrays ==<br />
:* [http://docs.php.net/manual/en/function.count.php count($array)] -> Devolve o número de posicións do vector.<br />
:* [http://docs.php.net/manual/en/function.sort.php sort($array)] -> Ordena o vector.<br />
:* [http://docs.php.net/manual/en/function.shuffle.php shuffle($array)] -> Mistura (desordena) o vector.<br />
:* [http://docs.php.net/manual/en/function.range.php range($baixo, $alto)] -> Xera un array, sendo os seus elementos os valores dende o número $baixo ata o número $alto. <br />
:::: Exemplo: $array = range(-4, 7);</div>Veiga