indextop
logo 100x100

encabezado600x110
menuhorizontal.php
Home Mision Contactar Asistencia Compras Calculadores_Energeticos Formacion_OnLine Acceder Salir
googleanalytic_codigoseguimiento
indexleftselect
Visitas recibidas 3202
Capítulos publicados
Introducción
Conceptos básicos
¿Qué se puede hacer con PHP?
Una explicación sencilla
Mi primera página con PHP
Algo útil. phpinfo()
Conocimientos básicos de HTML. CSS, tags
Uso de Formularios HTML
Estructuras de Formularios HTML
Uso de código antiguo con nuevas versiones de PHP
¿Y ahora qué?
php.ini. ¿que establece?
Referencia del lenguaje
Sintaxis básica y Separación de Instrucciones
Comentarios que asimila php
Tipos
Introducción y Booleanos
Enteros y de Punto Flotante
Cadenas _ Matrices
Cadenas
Matrices
Ejercicios sobre Cadenas y Arrays
Ejemplos arrays múltiples
Objetos
Recursos Null
Pseudo tipos
Manipulación de Tipos
Constantes
Constantes
Variables
Conceptos básicos y Variables predefinidas
Por editar y publicar
Ámbito de las variables
Variables variables
Variables externas y Predefinidas
Expresiones
Operadores
1a parte
2a_ parte
Estructuras
1a_parte
Ejercicios_1 if_elseif y else. Validando formularios
Ejercicios_2 While..do While.. for..foreach
2a_parte
Ejercicios_3 break continue switch
Ejercicios_4 require include
Funciones
1a_parte
2a_parte
Funciones Matemáticas
Classes
Classes y Objetos
1a_Parte.
2a_Parte.
3a_Parte.
4a_Parte.
5a_Parte.
6a_Parte.
Ejercicios_1 sobre Class
Excepciones
Explicando las Referencias
Cookies - header()
Sesiones
1a parte
2a parte
3a parte
4a parte
5a parte
6a parte
7a parte
8a parte
s8_SessionPage1.php
9a parte
Bases de Datos (43 páginas)
Introducción BD, SQL y MySQL
MySQL
Los primeros pasos en MySQL
Conectado y accediendo a una BD
Realizando y mostrando resultados de una consulta
Registrando datos en una Tabla
Recuperando datos de una Tabla
Ordenando registros de una Tabla
Cálculos con fechas
Trabajando con valores NULL
Coincidencia de patrones
Contar registros
Utilizar más de una tabla
Consultas comunes. Modo batch
php y MySQL
Gestionando Bases de Datos con php.
Tipos de campo mysql
Creando tablas-Insertando campos
Visualizar y modificar estructuras de tablas
Añadir registros a una tabla
Adicionar datos. Formularios
Selección de registros - 1a parte
Selección de registros - 2a parte
Modificación de registros
Borrando registros - 1a parte
Borrando registros - 2a parte
Imágenes en tablas
Tipos de tablas
Otras consultas
Taller BaseDatos.
BD contactos_registros
SESSION Acceder - Registrarse
Objetivos y estructura de la BD
Formulario Registrarse. Validador de datos.
Insertar y validar registros
Formulario y scripts de acceso
Proceso de borrar un registro
Autorizando y limitando el acceso
Consultas para la gestión de la BD
Base de Datos Eficiencia.
Sistemas de refrigeración
 
PDF
Introducción - primeros pasos
Aplicando formato a la página
Textos, columnas múltiples, Tablas
 
 
Temas en producción
Mensajería y Autorespondedores
Gestión ebooks
Entrenamiento, ejercicios
Lista de referencias_utilizadas

ingenieria@energianow.com
www.energianow.com

Derechos reservados © 2009-2010-2011
(rt_entrenamiento.php) Energía_PHP. Entrenamiento.

Objetivo
Formulario envio y recogida en la misma hoja.
Caracteres escapados
Comillas simple y dobles. Diferencias.

Diferencia entre la función print y la función echo
El orden de las instrucciones determinará en el resultado.
Espacios en blanco dentro del escript. Copia y pega sin cuidado.
Mezcla de valores y funciones asignadas a una variable dentro del mismo bloque php

Operadores de asignación. Empleo de += y .=: .Diferencias entre ellos.
Informacion que muestras en Internet.
Operaciones matemáticas entre matrices.

Esta hoja tiene el objetivo de servir de Taller de Entrenamiento para comprobar el funcionamiento y el efecto que producen los scripts sobre los cuales he tenido dificultades de interpretación, dudas que no he podido aclararme o que no he encontrado la fuente precisa para tener la respuesta. La he destinado a realizar el proceso de tanteo y comprobación que se necesita cuando hay estos tropiezos y no encuentras la respuesta en los documentos que vas consultando. También he ido registrando en esta hoja aquellas definiciones que aún me quedaban por afianzar y las he complementado con ejercicios para comprobar su operatividad. Ya cuando se avanza y se tienen conocimientos del códigos de programación, estos ejercicios nos parecen ridículos o desacertados. Pero nada de eso, hay que pasar el test de aprender autodidacticamente los códigos, partiendo de cero y se comprenderá que estos ejemplos tuvieron su sentido, puesto que poco a poco formaron la base de conocimientos postgeriores, fueron descubriendo como había que proceder y donde se producínan los errores. Por su valor para mostrar como se pueden asimiliar conocimientos complejos, de manera autodidacta, es que decidí resumirlos en esta hoja y por supuesto, no son todos los que podrían estar incluidos en esta clasificación..

El proceso que he seguido para descubrir y aclararme las dudas, es similar a realizar un análisis por componentes o reingeniería de un sistema. Desarmarlo, medir sus parámetros componente a componente, comprobar la lógica del diseño en su dimensionamiento y secuencia en sus funciones, estudiar en caliente su rol en el conjunto, hasta complementar un todo que se llama sistema. Aquellos scripts dudosos, los llevo al editor php y muestro el efecto publicado en el navegador. El resultado que producen lo registro como definiciones de esa etiqueta o instrucción y con ello voy creando el completamiento de la información que necesito para aclararme las dudas y no dejar vacios que me impidan avanzar en el aprendizaje.


1 Formulario. Envio y recogida en la misma hoja. Este ejercicio lo incluí en esta hoja por los problemas que tuve en su realización, ya que mi propósito era enviar el formulario y recogerlo en la misma hoja y en principio no obtenía el resultado que quería. Diseñé el formulario html con varios atributos de las etiquetas imput type= text para aprender como se establecían y se mostraban en el navegador. Utilicé la etiqueta size para las cajas de texto, en la etiqueta select incluí la opción multiple y finalmente la quité. Tuve dificultades al utilizar la variable PHP_SELF. Con ella no me funcionó la recogida de datos. Eliminé PHP_SELF, en la primera variante dejé en blanco la dirección de envío, en la segunda la dirijí a esta misma hoja, rt_entrenamiento.php. Ambas variantes funcionaron. Veamos las dos variantes de envios de datos que utilicé:
<form action=" " method='post' class="manual"> y esta otra <form action="rt_entrenamiento.php " method='post' class="manual">
Comprobé las salidas con echo y con print, sin diferencias entre ellas.
Seguidamente muestro el resultado. Puede introducir sus datos y preferencia en la cerveza que toma y se mostrará la recogida en esta misma hoja, en la segunda línea del marco en rojo.
Escribe tu nombre:
Registra tu E-Mail :

Que marca de Cerveza prefieres: 




Me llamo=
Mi email es=
y me gusta la cerveza=
2 Etiquetas de escapes. Comprobando sus funciones.
A continuación dos instruciones de salida que nos serviran para ir colocando las etiquetas de escape y observar su funcionamiento. Iremos comprobando una a una que nos muestra la salida.
Veamos los scripts de ambas instrucciones:

<?php
echo
"1 compruebo que se muestra cuando la cadena está encerrada entre comillas";
?>
<br />
<?php
echo "2 este ejercicio es igual al anterior, solo para estar seguro que funciona en mas de un string a la vez ";
?>
Ambas instrucciones terminan en punto y coma, indicando el final del string. El tanteo realizado consistió en sustituir elementos de cierre unos por otros y comprobar si se mostraban o daban error, y si se mostraban en el navegador, cual era su efecto. De este proceso deduje una definición para cada caracter. Pongamos un ejemplo, el caracter \n. En el código PHP escrito en esta misma hoja, sustitui el punto y coma de cierre del string por \n y comprobé si con este cambio se mostraban los strings anteriores en el navegador. Si esto ocurria, sabia que podía sustituir \n por ; para indicar un cierre de string. Las respuestas que salian en mi navegador, las copie en html a letras rojas en este misma hoja para conservarlas y poderlas mostrar tal y como se publicaron. Y así fuí procediendo con el resto de los caracteres de escapado, haciendo variantes y comprobando que efecto producian. El resultado de este proceso, generó las respuestas que más abajo detallo.

A Esta es la comprobación que \v (la barra invertida anexa a v) en medio de la cadena SE muestra en el navegador. También se muestra como elemento final de la cadena, dentro de las comillas sencillas o dobles. No produce saltos de línea. Al colocarla al final del string no produce una señal......... El punto y coma final, sigue siendo el final del string y no se puede obviar.\v
B En este string comprobé el error que se produce si sustituyo las comillas que indican el cierre del string por \v, sean sencillas o dobles.

2.1 Empezaremos por el caracter \n, llamado alimentación de línea Para estas comprobaciones utilicé las dos cadenas de salida anteriores, las que estan limitadas al cierre por ;. Sustituyamos el punto y coma y coloquemos antes de las comillas de cierre el caracter \n
Respuesta:
A - Esta es la comprobación que la barra invertida anexa a n (\n) en medio de la cadena entre comillas dobles, no se muestra en el navegador, así como que tampoco produce saltos de línea. Al colocarla al final del string no produce una respuesta diferente al punto y coma.........
B En este string comprobé el error que se produce si quito las comillas que indican el cierre del string y colocandolo solamente a \n. .Las comillas de cierre y el ; no admiten obviarlas.....
.
Definición: El caracter \n de escapado no se muestra en medio de la cadena. Al final de ella no produce saltos de líneas.

2.2. Retorno de carro \r. Comprobaré como actúa este caracter de escapado, colocandolo en el script de ambas instruciones y haciendo las mismas pruebas que el el ejercicio anterior.
Respuesta:
Igual efecto que en \n

2.3 Tabulación horizontal \t Hago la misma comprobación
Respuesta: Igual efecto que en \n y \r. Aún no encuentro el efecto que deben producir estos caracteres de escapado.

2.4 Tabulación vertical \v. Igual comprobación
Respuesta:
Ver la salida ejemplificada en 2 anterior.
Estos ejercicios los realicé encerrando ambos string tanto en en comillas dobles como sencillas, mostrando los mismos resultados.

3 Comillas simples y comillas dobles y su efecto sobre las variables.
Comprobemos las diferencias cuando encerramos el string con uno u otro delimitador. Ejercitemos el siguiente script. En la primera cadena de salida (1), se colocan las dos variables definidas aquí por
$expanden y $comillas_simples encerrando la misma en comillas simples. Comprobamos que no toman el valor asignado si se expanden y comillas dobles. En la segunda cadena de salida (2) se colocan las mismas variables, ahora dentro de las comillas dobles y vemos como cada variable toma su valor prefijado. El cuadro en rojo abajo, muestra las salidas que obtendríamos en el navegador.
<?php
$expanden='si se expanden';
$comillas_simples='comillas dobles';
echo '1 Las variables no se $expanden cuando empleamos $comillas simples<br>';
echo "2 Las variables $expanden cuando empleamos $comillas_simples";

?>

1 Las variables no se $expanden cuando empleamos $comillas simples
2 Las variables si se expanden cuando empleamos comillas dobles

4 Print y echo
print sentencias o construcciones que devuelven un valor
echo sentencia que no devuelve nada. Con echo no se podría hacer cálculos con variables, solo mostrar el valor asignado
. Comprobemos si la afirmación anterior es valida:
Tomemos el siguiente boque de escripts para comprobar la operatividad de
echo y de print. Si ambos muestran el mismo resultado, su comportamiento es igual. Si muestran resultados diferentes, primero confirmaremos cual de ambos reporta las operaciones correctas. Si echo es el que presenta irregularidades, entonces se confirmará que echo no es una sentencia para obtener salidas donde se necesiten procesamiento de datos en la cadena.
<?php
$s1=9;
$p1=7;

echo '1 Soy un string encerrado en comillas simples. Mi funcción es restar de la var $s1, la var $p1 y mostrar el resultado igual a 2. Veamos cual es la salida: $s1-$p1 <br>';
echo "2 Soy la suma de $s1 mas $p1 y debo dar 16, veamos si se muestra =$s1+$p1 <br>";
echo "3 Soy el producto de $s1 por $p1 y debo dar 63, Veamos= $s1*$p1 <br>";
echo "4 Soy la division de $s1 entre $p1 y debo dar 1.28... =$s1/$p1 \n";
El resultado que se muestra tiene los detalles siguientes.
Se expanden las variables dentro de las comillas dobles. No se expanden dentro de comillas simples.
echo muestra las variables expandidas dentro de comillas dobles.
echo no muestra que se realicen operaciones dentro del string con comillas dobles ni comillas simples.

Realizaré este mismo ejemplo utilizando print.
?>
<?php
print '5 Estoy dentro de comillas simples, Soy la resta de $s1 menos $p1 y debo dar 2, Veamos = $s1-$p1<br>';//empleando print dentro de comillas simples

print "6 Estoy dentro de comillas dobles, Soy la resta de $s1 menos $p1 y debo dar 2, Veamos = $s1-$p1<br>";//empleando print dentro de comillas simples

print "7 La operación está fuera de las comillas dobles. Se declara con print. Soy la suma de $s1 menos $p1 y debo dar 16, Veamos = \n";//sacando fuera la operación de la cadena encerrada en comillas dobles
print $s1+$p1;

echo "<br>8 Soy el producto de $s1 por $p1. La operación está fuera del string entre comillas dobles. Se declara con <b>echo</b>. Debo dar 63=";//sacando fuera la operación de la cadena encerrada en comillas dobles pero declarando la instrucción con echo.
echo $s1*$p1;

echo "<br>9 Soy la división de $s1 por $p1. La operación está fuera del string entre comillas dobles. Se combina echo con print. Debo dar 1.285714...=";// combinando echo y print
print $s1/$p1;
?>
El resultado que nos muestra el navegador sigue a continuación:
Se repetite, dentro de comillas simples no es expanden las variables.
No se realizan operaciones dentro de las comillas dobles ni simples.
print y echo muestran identicos resultados cuando las operaciones se realizan fuera del strig.

Uso de echo
1 Soy un string encerrado en comillas simples. Mi funcción es restar de la var $s1, la var $p1 y mostrar el resultado igual a 2. Veamos cual es la salida: $s1-$p1
2 Soy la suma de 9 mas 7 y debo dar 16, veamos si se muestra =9+7
3 Soy el producto de 9 por 7 y debo dar 63, Veamos= 9*7
4 Soy la division de 9 entre 7 y debo dar 1.28... =9/7
Uso de print

5 Estoy dentro de comillas simples, Soy la resta de $s1 menos $p1 y debo dar 2, Veamos = $s1-$p1
6 Estoy dentro de comillas dobles, Soy la resta de 9 menos 7 y debo dar 2, Veamos = 9-7
7 La operación está fuera de las comillas dobles. Se declara con print. Soy la suma de 9 menos 7 y debo dar 16, Veamos = 16
8 Soy el producto de 9 por 7. La operación está fuera del string entre comillas dobles. Se declara con echo. Debo dar 63=63
9 Soy la división de 9 por 7. La operación está fuera del string entre comillas dobles. Se combina echo con print. Debo dar 1.285714...=1.28571428571

5 El orden de las instrucciones determinará en el resultado.
Comprobemos esta afirmación realizando el siguiente ejercicio.
Revisemos el script siguiente
Ejercicio No. 1

<?php
$a=true?0:true?1:2; // (true ? 0 : true) ? 1 : 2 = 2
$a=1;
$b=2;
$c=$b+=3;
echo "1 El valor de a es 2. Veamos a=$a<br>";
echo "2 El valor de c es 5. Veamos c=$c";
?>

Ejercicio No.2
<?php
$a=1;
$b=2;
$a=true?0:true?1:2;
$c=$b+=3;
echo "1 El valor de a es 2. Veamos a=$a<br>";
echo "2 El valor de c es 5. Veamos c=$c";
?>

Hagamos estos dos ejercicios. En el No. 1 hemos colocado la instrucción de comparación $a=true?0:true?1:2; al incio y en el segundo la ubicamos posterioremente a la asignacion de valores a las variables $a y $b. Veamos que resultado obtenemos:
1 El valor de a es 2. Veamos a=1...Ah, acá no coincide con lo esperado
2 El valor de c es 5. Veamos c=5

Veamos la salida en el segundo ejercicio.

1 El valor de a es 2. Veamos a=2 Ahora si hay coincidencia
2 El valor de c es 5. Veamos c=5

Como apreciamos, en el ejercicio No. 1 el resultado de $a no es el esperado. En el segundo ejercicio, se obtiene el resultado esperado de la variable $a=2. Esto nos demuestra que tenemos que seguir la lógica de la programación al escribir los scripts en el editor. No podemos establecer una comparación con una variable a la cual aún no le hemos asignado su valor, (en estos dos ejemplos el valor de 1). Es lógico que cuando la instrucción de comparación conoce previamente el valor asignado a la variable $a, el interprete PHP procesa la instrucción de comparación, le asigna a la variable $a el nuevo valor de 2 esperado, y lo muestra en el navegador.

6 Espacios en blanco al escribir los scripts en el editor de código.
Decidí incluir este tema en esta sección de entrenamiento, por el efecto negativo que tiene sobre el tiempo útil para este aprendizaje. No engañaría a nadie si le digo que este error me consumió entre el 25 - 30% del total del tiempo invertido, lo que es tiempo perdido. Le demostraré en los dos scripts siguientes a que me refiero. Compruebelo usted mismo. Tomemos como ejemplo el siguiente paquete de scripts
<?php
$a=3;
$a+=5 ;
//define $a como 8, como si hubiésemos dicho: $a = $a + 5;
$b="¡Hola ";
$b.="a todos!";
//define $b como "¡Hola a todos!", tal como $b = $b . "a todos!";<br />
echo "1 El valor definido de a es 8. Comprobemos que a=$a<br>";
echo "2 El valor de b es ¡Hola a todos. Verifiquemos que b=$b";
?>

Ejemplo #1.Intencionalmente, dejaremos ,espacios en blanco al escribir en el editor el escript
$a = 3;$a+ = 5; Veamos que al interpretarse el código, se presenta un error en el navegador. Fijense en el espacio que he dejado entre el signo de asignación del valor de la variable $a y el valor asignado de 3. Haga pruebas, dejando diferentes espacios en blanco y estudie las respuestas que obtiene del interprete del código, así se dará cuenta de lo que no debe hacer. Seguido escribo el script con defecto y por supesto, php muestra que hay un error. Copio seguidamente la salida que muestra php avisando del ERROR.
El error reportado en mi caso ha sido:
Parse error: parse error, unexpected '=' in C:\wamp\www\www.energianow.com\select\rt_entrenamiento.php on line 210

Rectifico lo mal hecho, para poder seguir trabajando en esta hoja.Ahora se mostrará la salida como sin problemas.

1 El valor definido de a es 8. Comprobemos que a=8
2 El valor de b es Hola a todos. Vefifiquemos que b=¡Hola a todos!

Otro error que cometo con frecuencia es el copia y pega sin cuidado. En la mayoría de los casos esta operación introduce un espaciado dañido para la lectura del código por el interprete y reporta un error en el navegador. Algo que creo sería de gran utilidad es que el interprete brindara una información precisa y dirigida a la fuente del error. Los mensajes de aviso de error para mí son incompletos, la mayoría de caracter general y obligan a una búsqueda a veces agotadora.

Ejemplo #2 Veamos a que me refiero:
Copiemos y peguemos en el editor php el siguiente script sin tener en cuenta los problemas que puede causar en su interpretación la acción de copia y pega sin cuidado.

<?php
$a=3*3%5;
// (3 * 3) % 5 = 4
echo "1 El valor de a es 4. Veamos a=$a<br>";
?>

<?php
$a=1;
$b=2;
$a=true?0:true?1:2;
// (true ? 0 : true) ? 1 : 2 = 2. Aqui dejo intensionalmente un espacio en blanco
echo "2 El valor de a es 2. Veamos a=$a<br>";
?>


<?php
$c=$b+= 3;
echo "3 El valor de c es 5. Veamos c=$c<br> Este ejemplo #3 nos demuestra que el código php debe ser totalmente límpio, sin dejar expacios, sin mezclar asignaciones repetidas a la variables que el interprete due que valor asignar";
?>


En mi caso se muestra: Parse error: parse error, unexpected T_VARIABLE in C:\wamp\www\www.energianow.com\select\rt_entrenamiento.php on line 238. Si vas a esa linea en tu editor, aparece el script que ocupa esa fila, en mi caso $a = true ? 0 : true ? 1 : 2; // (true ? 0 : true) ? 1 : 2 = 2.
Notarás los espacios en blanco que antes mencioné. Pero el mensaje de error no precisa cual es la causa en sí, sólo expresa algo así como que encuentra una variable inesperada o imprevista. Si no eres buen observador y no te dás cuenta de los espacios en blanco, sobre todo cuando no son tan evidentes por ser numerosos (como es el caso de este ejemplo), pobre de tí. Piensa en el caso que es un simple espacio en blanco que dejastes por ahí, en un bloque denso, el dolor de cabeza que te podrá causar. Finalmente, he rectificado el error intencional y ahora se muestra en el navegador, en el marco rojo, la salida esperada.

1 El valor de a es 4. Veamos a=4
2 El valor de a es 2. Veamos a=2
3 El valor de c es 5. Veamos c=5
Este ejemplo #2 nos demuestra que el código php debe ser totalmente límpio, sin dejar expacios, sin mezclar asignaciones repetidas a la variables que el interprete due que valor asignar

7 Mezcla de valores y funciones asignadas a una variable dentro del mismo bloque php.
Otra observación que hago es que en el Manual PHP se facilitan los conocimientos mediante propuestas de scripts para ejemplificar. Muchas de estas propuestas incluyen dentro de una misma etiqueta de apertura y cierre php varias asignaciones de valor para una misma variable. Si no divides en varios bloques tales propuestas de ejercicios, no obtendrás los resultados correctos.
El ejemplo # 2 anterior, si se verifica el Manual original, se comprueba que se proponen estos scripts en un solo bloque de instrucciones, tal y como sige:
?php
$a 
5// (3 * 3) % 5 = 4
$a true true 2// (true ? 0 : true) ? 1 : 2 = 2

$a 1;
$b 2;
$a $b += 3// $a = ($b += 3) -> $a = 5, $b = 5
?>

No me fue posible colocar estas instrucciones dentro de un solo bloque y obtener las salidas correctas. Por eso las seccioné en tres paquetes bloquess de scripts tal y como les presenté anteriormente: el primer bloque para comprobar la instrucción $a 5// (3 * 3) % 5 = 4, el segundo para probar el funcionamiento de $a true true 2// (true ? 0 : true) ? 1 : 2 = 2 y el tercero y final, para comprobar la adición $a $b += 3// $a = ($b += 3) -> $a = 5, $b = 5. De esta forma, todo resultó. El razonamiento que hice es que en un solo bloque el interprete se confunde, no sabe que hacer con el valor de $a puesto que tiene 3 caminos o asignaciones posibles.

Al principio de estos Temas_PHP, hago una alerta sobre los editores de texto, procesadores de palabras y block de notas. Vaya nuevamente a esa hoja,
pinche aquí, y revise lo que le digo. Deberíamos agregar a esa información que en todos los casos es imprescindible que el redactor del código realice una revisión detallada del script antes de dar por concluido su proyecto, por sencillo que este sea. Debe estar seguro y confiado que ha detectado y resuelto los posibiles errores que le harán perder su tiempo.

8 Operadores de asignación. Empleo de += y .= Diferencias entre ellos.
Cuando realicé la comprobación de este script tuve dudas. No precisaba las diferencias entre el uso de += y .=puesto que en el script propuesto en el manual original, el primero += se usa en una expresión aritmética y el segundo en una cadana literal. Me pregunté, que pasaría si hago un intercambio, funcionarán igual. Y así les presento lo que ocurre cuando se intercambian.
Primero, el script tal y como está propuesto en el Manual, y la salida que produce en el navegador, la encontrará en el marco rojo siguiente
<?php
$a 
3;
$a += 5// define $a como 8, como si hubiésemos dicho: $a = $a + 5;
$b "¡Hola ";
$b .= "a todos!"// define $b como "¡Hola a todos!", tal como $b = $b . "a todos!";
?>

1 El valor definido de a es 8. Comprobemos que a=8
2 El valor de b es Hola a todos. Verifiquemos que b=¡Hola a todos!
Segundo, intercambiemos el operador de asignación combinado, de la forma que le propongo en el script que sigue.
<?php
$a 
3;
$a .= 5// define $a como 8, como si hubiésemos dicho: $a = $a + 5;
$b "¡Hola ";
$b += "a todos!"// define $b como "¡Hola a todos!", tal como $b = $b . "a todos!";
?>

Veamos que salida produce ahora en el navegador. Ver el siguiente marco en rojo y compare con el anterior.
1 El valor definido de a es 8. Recuerden, ahora intercambiamos el operador combinado y en esta expresión aritmética, colocamos .= Entonces cual es el nuevo valor de a=35 sin coincidir con el resultado esperado
2 El valor de b es Hola a todos. Ahora empleamos el operdor combuinado += Verifiquemos que b=0 y no se parece al resultado anterior
Con esto dos resultados hemos comprobado que el operador combinado += asigna la suma de dos valores numéricos a la variable $a, (el valor original de $a que es 3 y la asignación de un incremento de 5) devolviendonos el resultado que es 8. Cuando fué utilizado en las expresiones literales, devolvió el valor cero.

El operador combinado .= nos mostró que generó la agregación de los dos valores asignados a las variablse $a y $b, una seguida de la otra, si efectuar la operación aritmética de la suma. En el primer caso el valor de $b fue "¡Hola a todos!" y en el segundo el valor de $a fue de 35, (leyó primero $a y luego el valor que se le agregaría de 5).


9 importnte para nuestra seguridad informática. Si quieres conocer que información entregas a Internet cuando navegas y como puedes protegerte o servirte de ella, sigue el link titulado Informacion que muestras en Internet. PHP facilita códigos para saber quien se conecta al Server y con que medios lo realiza, claro está, con fines de poder satisfacer los requerimientos de los usuarios y nada mal intencionado. Pero hay quienes toman estas herramientas y las convierten en formas de violar la privacidad. Por ello es bueno que las conozcamos.

10 Operaciones matemáticas entre matrices.
Suma, resta multiplica y divide arrays.
Las operaciones matemáticas entre matrices, no están documentadas en los Manuales y documentos libres. Estos procedimientos requieren la iniciativa y creatividad personal. Debemos decir antes, que a esta altura de la selección personal de materiales sobre php que vengo ordenando, llamada Temas_php, no estoy totalmente preparado para llegar a entender y diseñar una solución que abarque estas operaciones.

No obstante he logrado avanzar en estas operaciones, por lo que colocaré los resultados que ya he obtenido. En él siguiente bloque se abordan las operaciones matemáticas básicas entre matrices.

<?php
function escalar($val)//se define la función escalar. Ahora tiene el valor asignado 3
{

return $val*3;
}
function sumar($arr1,$arr2)//Esta sección del bloque define la función suma
{
foreach ($arr1 as $key=>$val)// asigna a cada valor del rray un id o clave
{

$arr3[]=$arr1[$key]+$arr2[$key];//produce ela suma y la define como el $arr3[] que será la salida
}
return $arr3;// returna el valor del $arr3[] como el valor de la función suma
}
function multiplicar
($arr1, $arr2) // es el mismo razonamientoque en la función suma, ahora multiplicamos
{
foreach ($arr1 as $key=>$val)
{
$arr3[]=$arr1[$key]*$arr2[$key];
}
return $arr3;
}
function dividir($arr1, $arr2)
{
foreach ($arr1 as $key=>$val)
{
$arr3[]=($arr1[$key])/($arr2[$key]);
}
return $arr3;
}
$a=array(1,2,3,4,5);// Entramos como datos los dos array que serán los operadores
$b=array_map('escalar',$a); // array_map() devuelve una matriz que contiene todos los elementos de matriz1 después de haber aplicado la función llamada_de_retorno a cada uno de ellos. El número de parámetros que la función llamada_de_retorno acepte debería coincidir con el número de matrices que son pasadas como argumentos a array_map(). Así se forma una matriz $b que contiene la llamada de retorno a la función escalar multiplicando por los campos de la función $a por el escalar 3

echo "Operador 1 = array(1,2,3,4,5) <br>" ;
echo "Operador 2 = array_map('escalar', $a) <br>";
echo " El escalar asignado es 3<br>";
echo " El resultado de las operaciones se muestra a continuación:";

/* escalar */
echo "<br>1 Salida X el escalar";
print_r($b);

/*suma*/
echo "<br>2 Salida suma";
print_r(sumar($a,$b));

/*multiplica*/
echo "<br>3 Salida multiplica";
print_r(multiplicar($a,$b));

/*dividie*/
echo "<br>4 Salida dividir";
print_r(dividir($a,$b));
?>

Operador Matriz 1 = array(1,2,3,4,5)
Operador Matriz 2 = array_map('escalar', Array)
El escalar asignado es 3
El resultado de las operaciones se muestra a continuación:
1 Salida multiplicación por el escalarArray ( [0] => 3 [1] => 6 [2] => 9 [3] => 12 [4] => 15 )
2 Salida sumando ambas matricesArray ( [0] => 4 [1] => 8 [2] => 12 [3] => 16 [4] => 20 )
3 Salida multiplicación entre ambas matricesArray ( [0] => 3 [1] => 12 [2] => 27 [3] => 48 [4] => 75 )
4 Salida dividiendo ambas matricesArray ( [0] => 0.333333333333 [1] => 0.333333333333 [2] => 0.333333333333 [3] => 0.333333333333 [4] => 0.333333333333 )

11 array array_map ( mixed llamada_de_retorno, array matriz1 [, array ...])
array_map() devuelve una matriz que contiene todos los elementos de matriz1 después de haber aplicado la función llamada_de_retorno a cada uno de ellos. El número de parámetros que la función llamada_de_retorno acepte debería coincidir con el número de matrices que son pasadas como argumentos a array_map().
<?php
function cubo($n) {
return($n * $n * $n);
}
$a = array(1, 2, 3, 4, 5);
$b = array_map("cubo", $a);

print_r($b);
?>

Array ( [0] => 1 [1] => 8 [2] => 27 [3] => 64 [4] => 125 )


googleanalytic_codigoseguimiento