25
Arrays en PHP Arrays en PHP MSc. Alexis Cabrera Mondeja

Arrays en PHP y Funciones de Mysql

Embed Size (px)

DESCRIPTION

Arrays en PHP y Funciones de Mysql

Citation preview

Page 1: Arrays en PHP y Funciones de Mysql

Arrays en PHPArrays en PHPMSc. Alexis Cabrera Mondeja

Page 2: Arrays en PHP y Funciones de Mysql

Arrays Arrays UnidimensionalesUnidimensionales

Array escalar Array asociativo

Variable Indice Valor Variable Indice Valor

$a[0] 0 Domingo$a['Primero']

Primero Domingo

$a[1] 1 Lunes$a['Segundo']

Segundo Lunes

$a[2] 2 Martes $a['Tercero'] Tercero Martes

$a[3] 3 Miércoles $a['Cuarto'] Cuarto Miércoles

$a[4] 4 Jueves $a['Quinto'] Quinto Jueves

$a[5] 5 Viernes $a['Sexto'] Sexto Viernes

$a[6] 6 Sábado$a['Septimo']

Septimo Sábado

Page 3: Arrays en PHP y Funciones de Mysql

Arrays AsociativoArrays Asociativo

$autos["objeto"]="coche"; $ autos["color"]="rojo"; $ autos["tamaño"]="ideal"; $ autos["marca"]= "Ferrari"; $ autos["precio"]="prohibitivo para un humilde docente";

Page 4: Arrays en PHP y Funciones de Mysql

Cómo leer un arrayCó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;

Page 5: Arrays en PHP y Funciones de Mysql

Arrays Arrays BidimensionalesBidimensionales

$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.

Page 6: Arrays en PHP y Funciones de Mysql

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

Arrays Arrays BidimensionalesBidimensionales

Page 7: Arrays en PHP y Funciones de Mysql

Arrays Arrays MultidimensionalesMultidimensionales

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.

Page 8: Arrays en PHP y Funciones de Mysql

La función array();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";

Page 9: Arrays en PHP y Funciones de Mysql

EjemploEjemplo$dias_tareas = array ( “Lunes" => “Plan de Trabajo “, “Martes” => “Clases PHP “, “Miercoles” => “Investigación “, “Jueves” => “ Clases PHP”, “Viernes” => “Investigacion” )

$a=array("Lunes","Martes","Miercoles","Jueves", "Viernes","Sábado","Domingo");

$b=array( "Precio" => "17340 euros", "Color" => "Rojo", "Llantas" => "Aluminio");

Page 10: Arrays en PHP y Funciones de Mysql

Obtener información Obtener información sobre variablessobre 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.

Page 11: Arrays en PHP y Funciones de Mysql

Obtener información Obtener información sobre variablessobre variables

count(variable)

Tiene idéntica funcionalidad a la de sizeof.

Page 12: Arrays en PHP y Funciones de Mysql

Obtener información Obtener información sobre variablessobre 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.

Page 13: Arrays en PHP y Funciones de Mysql

Obtener información Obtener información sobre variablessobre variables

is_array(variable)

Devuelve UNO (verdadero) en el caso de que la variable sea tipo array y NUL en el caso contrario.

Page 14: Arrays en PHP y Funciones de Mysql

Obtener información Obtener información sobre variablessobre variables

is_long(variable) ó is_int(variable) ó is_integer(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.

Page 15: Arrays en PHP y Funciones de Mysql

Obtener información Obtener información sobre variablesobre 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.

Page 16: Arrays en PHP y Funciones de Mysql

Bases de DatosBases de DatosConexió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)

Page 17: Arrays en PHP y Funciones de Mysql

Bases de DatosBases de DatosPara 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.

Page 18: Arrays en PHP y Funciones de Mysql

ConexiónConexió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); }?>

Page 19: Arrays en PHP y Funciones de Mysql

Conectar a Servidor Conectar a Servidor remotoremoto$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); }?>

Page 20: Arrays en PHP y Funciones de Mysql

Funciones de MySQLFunciones de MySQL

Page 21: Arrays en PHP y Funciones de Mysql

mysql_affected_rowsObtiene el número de filas afectadas en la anterior operación de MySQLDevuelve 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.

Page 22: Arrays en PHP y Funciones de Mysql

mysql_create_db

Crea una base de datos MySQLDevuelve TRUE en caso de éxito o FALSE en caso de error.

Page 23: Arrays en PHP y Funciones de Mysql

mysql_queryEnviar una consulta MySQLPara 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());}

?>

Page 24: Arrays en PHP y Funciones de Mysql

mysql_fetch_arrayRecupera 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()).

Page 25: Arrays en PHP y Funciones de Mysql

Funciones PHP-Funciones PHP-MySQlMySQl

http://www.php.net/manual/es/function.mysql-fetch-array.php