4. Cómo leer un array
$salida="<H2> El ". $ autos["objeto"] ." ".$
autos["marca"]." ".$ autos["color"];
$salida .=" tiene el tamaño ideal ".$ autos["tamaño"];
$salida .=" y su precio es ".$ autos["precio"];
$salida .="</H2>";
echo $salida;
5. Arrays Bidimensionales
$a[][]=" ";
Los arrays bidimensionales pueden entenderse como algo muy
similar a una tabla de doble entrada.
Cada uno de los elementos se identifica –sigue siendo válido el
nombre único que se usaba en los unidimensionales – por un
nombre ($nombre) seguido de dos ([]) que contienen los índices
(en
este
caso
son
dos
índices)
del
array.
Los índices pueden ser de tipo escalar -equivalen al número de
fila y columna que la celda ocupa en la tabla– o puede ser
asociativos lo que equivaldría en alguna medida a usar como
índices los nombres de la fila y de la columna.
6. Arrays Bidimensionales
Los elementos de un array bidimensional escalar pueden
escribirse usando una de estas sintaxis:
$a[][]=valor
$a[xx][]=valor
$a[][xx]=valor
$a[xx][yy]=valor
En el primero de los casos PHP asigna automáticamente
como primer índice el valor que sigue al último asignado y,
si es el primero que se define, le pondrá como índice 0
(CERO).
Sea cual fuere el valor de primer índice al segundo se le
asignará cero ya que es en este mismo momento cuando
se habrá creado el primero y, por tanto, aún carecerá de
elementos
7. Arrays Multidimensionales
O PHP permite el uso de arrays con dimensión superior a dos.
Para modificar la dimensión del array basta con ir añadiendo
nuevos índices.
a[x][y][z]=valor;
asignaría un valor al elemento de índices x, y y z de un array
tridimensional y
$a[x][y][z][w]=valor;
haría lo mismo, ahora con un array de dimensión cuatro.
Pueden tener cualquier tipo de índices: escalares, asociativos
y, también, mixtos.
8. La función array();
Para asignar valores a una matriz puede usarse la función
array(), que tiene la siguiente sintaxis:
$a= array ( índice 0 => valor, ..... , índice n => valor, );
Por ejemplo:
$z=array ( 0 => 2, 1 => "Pepe", 2 => 34.7, 3 =>
"34Ambrosio", );
producirá igual resultado que:
$z[0]=2; $z[1]="Pepe"; $z[2]=34.7; $z[3]="34Ambrosio";
10. Obtener información sobre
variables
sizeof(variable)
La función sizeof devuelve el número de
elementos de un array. Si se aplica sobre una
variable (no array) devolverá uno y tanto si se
aplica sobre un array vacío, una variable con
valor nulo o sobre una variable no definida,
devolverá cero.
12. Obtener información sobre
variables
isset(variable)
La función isset comprueba si una variable está definida
o no lo está. Si lo está –incluso con valor nulo o como
array vacío– isset devolverá UNO, en caso contrario
devolverá NULL.
Esta función puede ser un complemento de sizeof o de
count dado que permitiría comprobar si están definidas
las variables en las que aquellas funciones devuelven
dimensión cero.
14. Obtener información sobre
variables
is_long(variable)
is_integer(variable)
ó
is_int(variable)
ó
Estas tres funciones –que son idénticas–
devuelven UNO en el caso de que la variable sea
de tipo entero y NUL en el caso contrario.
is_float(variable)
ó
is_double(variable)
Estas dos funciones –también idénticas–
devuelven UNO en el caso de que la variable sea
de tipo coma flotante y NUL en el caso contrario.
15. Obtener información sobre
variable
is_string(variable)
Devuelve UNO en el caso de que la variable sea tipo string
y
NUL
en
caso
contrario.
unset(variable)
Destruye la variable indicada. Si después de aplicar unset
sobre una variable aplicamos de nuevo la función isset,
nos devolverá NULL indicando que ya no está definida.
La función unset se puede aplicar tanto sobre variables
como sobre un array y también sobre un elemento de un
array.
16. Bases de Datos
Conexión con el servidor de bases de datos
Antes de empezar a trabajar con bases de datos es
imprescindible que ambos servidores –Apache y MySQL– estén
activos.
Como paso inmediato hemos de interconectar ambos
servidores de forma que sea posible tranferir información de
uno a otro.
Para ello es necesario utilizar siempre una función PHP con la
siguiente sintaxis:
$c=mysql_connect(h, u,
p)
17. Bases de Datos
Para
cerrar
la
conexión,
tenemos
que
insertar:
$cerrar_conexion=mysql_close ($c)
donde $c es el nombre de la variable en la que se recogió el
identificador del enlace en el momento de la apertura.
Aquí tienes el código de un script que realiza la apertura de
una
conexión
y
después
la
cierra.
Y aquí puedes comprobar el funcionamiento del script
anterior. Si realizáramos una segunda conexión (con los
mismos argumentos) sin haber cerrado la anterior no se
efectuará un nuevo enlace sino que nos devolverá el ya
abierto.
18. Conexión
$mysql_server= "localhost";
$mysql_login= "alexis";
$mysql_pass= "alexis";
# creemos una nueva variable $conectar sin asignarle
ningún valor
# para que pueda recoger el identificador de conexión
# una vez que se haya establecido esta
$conectar;
$conectar= mysql_connect($mysql_server, $mysql_login,
$mysql_pass) Or die ("No se ha podido establecer la
conexión al servidor ");
if($conectar) {
$base=mysql_select_db("test",$conectar);
}
?>
19. Conectar a Servidor
remoto
$mysql_server= “mysqlserver.host.com" ;
$mysql_login= "alexis";
$mysql_pass= "alexis";
# creemos una nueva variable $conectar sin asignarle
ningún valor
# para que pueda recoger el identificador de conexión
# una vez que se haya establecido esta
$conectar;
$conectar= mysql_connect($mysql_server, $mysql_login,
$mysql_pass) Or die ("No se ha podido establecer la
conexión al servidor");
if($conectar) {
$base=mysql_select_db("test",$conectar);
}
?>
21. mysql_affected_rows
Obtiene el número de filas afectadas en la anterior
operación de MySQL
Devuelve el número de filas afectadas en caso de éxito, y -1 si la
última consulta falló.
Si la consulta anterior fue DELETE con ninguna cláusula WHERE,
todos los registros habrán sido borrados de la tabla, aunque ésta
función devolverá cero con una versión anterior a MySQL 4.1.2.
Al utilizar UPDATE, MySQL no actualiza las columnas donde el
nuevo valor es el mismo que el anterior. Esto crea la posibilidad
de que mysql_affected_rows() no pueda equivaler en
realidad al número de filas encontradas, solamente el número
de filas que estuvieron literalmente afectadas por la consulta.
En el caso de consultas "INSERT ... ON DUPLICATE KEY UPDATE",
el valor devuelto será 1 si se realizó una inserción, o 2 para una
actualización de una fila existente.
23. mysql_query
Enviar una consulta MySQL
Para SELECT, SHOW, DESCRIBE, EXPLAIN y otras sentencias
que retornan un conjunto de resultados, mysql_query()
retorna un resource en caso de éxito, o FALSE en caso de
error.
<?php
$resultado = mysql_query('SELECT * WHERE 1=1');
if (!$resultado) {
die('Consulta no válida: ' . mysql_error());
}
?>
24. mysql_fetch_array
Recupera una fila de resultados como un array asociativo, un
array numérico o como ambos.
Devuelve un array de cadenas que corresponde a la fila
recuperada, o FALSE si no hay más filas. El tipo del array
retornado depende de como esté definido result_type.
Al utilizar MYSQL_BOTH (predeterminado), se obtendrá un
array con ambos índices: asociativos y numéricos.
Al utilizar MYSQL_ASSOC, se obtienen solo los índices
asociativos (tal como funciona mysql_fetch_assoc()).
Al utilizar MYSQL_NUM, se obtienen solo los índices
numéricos (tal como funciona mysql_fetch_row()).