Diferencia entre revisiones de «PHP Arrays»
Ir a la navegación
Ir a la búsqueda
| Línea 83: | Línea 83: | ||
* Como dixemos anteriormente o array ten unha clave coa que facemos referencia aos valores gardados no array. | * Como dixemos anteriormente o array ten unha clave coa que facemos referencia aos valores gardados no array. | ||
| − | * Dita <u>clave pode ser '''numérica''' ou '''cadea''' e os valores que podemos gardar poden ser de calquera tipo. | + | * Dita <u>clave pode ser '''numérica''' ou '''cadea'''</u> e os valores que podemos gardar poden ser de calquera tipo. |
* Se usamos como clave un tipo de dato diferente, PHP fará un 'cast' a o tipo de dato integer ou string (como indicamos antes). | * Se usamos como clave un tipo de dato diferente, PHP fará un 'cast' a o tipo de dato integer ou string (como indicamos antes). | ||
| Línea 137: | Línea 137: | ||
: Neste exemplo non asociamos ningunha clave e PHP irá, dende 0, incrementando a clave asociada a cada valor dentro do array. | : Neste exemplo non asociamos ningunha clave e PHP irá, dende 0, incrementando a clave asociada a cada valor dentro do array. | ||
| − | |||
| − | |||
== Verificando os datos dun formulario == | == Verificando os datos dun formulario == | ||
Revisión del 15:19 14 oct 2016
Sumario
Introdución
- Un array é un tipo estrutura de datos. Dita estrutura se caracteriza por ter un número de elementos variable no que cada valor a gardar está relacionado cun índice que 'apunta' á posición do elemento dentro do array.
- Podemos identificar un array como unha cómoda con caixóns no que cada caixón se pode identificar có índice do array e dentro de cada caixón teremos gardada a información.
- Cabe sinalar que dentro dun caixón poderíamos ter outra cómoda con máis caixóns a súa vez.
Un array pódese crear có construtor da linguaxe array() desta forma:
1 <?php 2 array( 3 clave => valor, 4 clave2 => valor2, 5 clave3 => valor3, 6 ... 7 ) 8 ?>
Vexamos un exemplo de parte dos ingredientes dunha receita:
1 <?php 2 $ingredientes = array( 3 0 => "améndoa", 4 1 => "fresas", 5 ); 6 7 // a partires de PHP 5.4 8 $ingredientes = [ // Leva corchetes e sen a palabra array 9 0 => "améndoa", 10 1 => "fresas", 11 ]; 12 ?>
- Como vemos a estrutura que mellor se adapta a gardar información sobre os ingredientes dunha receita é un Array. Non ten sentido ter unha variable por cada un dos ingredientes da receita.
- Vexamos un exemplo no que as claves sexan cadeas de caracteres:
1 <?php 2 $persoa = ['nome' => 'Juan Francisco', 3 'direccion' => 'C/ Rúa de alá nº5', 4 'telefono' =>'981121212']; 5 6 ?>
Accedendos aos valores gardados no array (1ª forma)
- Unha das formas para acceder aos valores do array é: $variable_array[clave].
- No exemplo anterior:
1 <?php 2 $ingredientes = [ // Leva corchetes e sen a palabra array 3 0 => "améndoa", 4 1 => "fresas", 5 ]; 6 7 printf("O primeiro ingrediente do array é: %s<br/>", $ingredientes[0]); 8 printf("O segundo ingrediente do array é: %s<br/>", $ingredientes[1]); 9 10 ?>
- No caso anterior no que o array tiña como clave unha cadea:
1 <?php 2 $persoa = ['nome' => 'Juan Francisco', 3 'direccion' => 'C/ Rúa de alá nº5', 4 'telefono' =>'981121212']; 5 printf("Datos da persoa:<br/>Nome:%s<br/>Dirección:%s<br/>Teléfono:%s",$persoa['nome'],$persoa['direccion'],$persoa['telefono']); 6 ?>
Declaración dun array: valores claves
- Como dixemos anteriormente o array ten unha clave coa que facemos referencia aos valores gardados no array.
- Dita clave pode ser numérica ou cadea e os valores que podemos gardar poden ser de calquera tipo.
- Se usamos como clave un tipo de dato diferente, PHP fará un 'cast' a o tipo de dato integer ou string (como indicamos antes).
- Así:
- Float: será convertido a un integer quitando a parte decimal.
- String: se o string é un número válido (por exemplo "8") será convertido a integer.
- Boolean: será convertido a integer (true = 1; false = 0)
- null: será convertido a cadea valeira.
- Se non poñemos clave dará o valor seguinte a última numérica instroducida.
- Vexamos uns exemplos:
1 <?php 2 $disco = [ 3 1 => '32454KAS12', 4 'capacidad' => '500GB', 5 '3500rpm', 6 'marca' => 'seagate', 7 3.5 => 'SATA' 8 ]; 9 10 printf("<br>"); 11 printf("O primeiro dato é o número de serie=> \$disco[1]:%s => A clave numérica é 1<br/>",$disco[1]); 12 printf("O segundo dato=> \$disco['capacidad']:%s<br/>",$disco['capacidad']); 13 printf("O terceiro dato (velocidade) non leva clave polo que dalle a seguine numérica=> \$disco[2]:%s => A clave numérica é 2<br/>",$disco[2]); 14 printf("O cuarto dato é a marca=> \$disco['marca']:%s<br/>",$disco['marca']); 15 printf("O quinto dato (tipo conector) a clave convírtese de float a integer=> \$disco[3]:%s A clave numérica é 3<br/>",$disco[3]); 16 17 ?>
- O resultado:
1 O primeiro dato é o número de serie=> $disco[1]:32454KAS12 => A clave numérica é 1 2 O segundo dato=> $disco['capacidad']:500GB 3 O terceiro dato (velocidade) non leva clave polo que dalle a seguine numérica=> $disco[2]:3500rpm => A clave numérica é 2 4 O cuarto dato é a marca=> $disco['marca']:seagate 5 O quinto dato (tipo conector) a clave convírtese de float a integer=> $disco[3]:SATA A clave numérica é 3
- Como podemos comprobar no exemplo anterior é posible ter un array con claves mixtas (cadea e numérica)
- Outro exemplo:
1 <?php 2 $array = array("un", "dous", "tres", "catro"); 3 printf("%s-%s-%s-%s",$array[0],$array[1],$array[2],$array[3]); 4 ?>
- Neste exemplo non asociamos ningunha clave e PHP irá, dende 0, incrementando a clave asociada a cada valor dentro do array.
Verificando os datos dun formulario
- Uhna forma rápida de verificar que certos datos dun formulario teñan información sería:
1 <?php 2 // Campos obrigatorios 3 $campos_obrigatorios = array('txtNome', 'txtEmail'); 4 5 // Comprobamos que os campos obrigatorios teñan datos 6 $erro = false; 7 foreach ($campos_obrigatorios as $campo) { 8 if (empty($_POST[$campo])) $erro = true; 9 } 10 11 if ($erro) { 12 // Non existe algún dos campos obrigatorios 13 }
-- Ángel D. Fernández González -- (2016).