Variables Numericas y Vectores Numericos PHP
Tutorial Photoshop
Tutorial por Solo Photoshop
SoloPhotoshop
Php [3] Variables Numericas y Vectores Numericos
Variables Numericas y Vectores
Variables
Llamamos Variable, a un espacio de memoria , que almacena un valor de
algun tipo, la forma de acceder a una variable es atravez de un
identificador (su nombre)
¿ Obtener el Tipo de una Variable ?
Con la funcion gettype() podemos obtener el tipo de una Variable
<?
$a=12; // Entero
$b=32.23; // Double = Float
$c="5223"; // String
echo '$a es '.gettype($a).' <br> ';
echo '$b es '.gettype($b).' <br> ';
echo '$c es '.gettype($c).' <br> ';
?>
Enteros
Es el conjunto numerico Z { ... -3 - 2 -1 0 1 2 3 ... } el cual va entre el -2147483648 y 2147483647
¿ Como Declarar un Entero ?
Se declara simplmente asignadole un valor entero a una variable.
<?
$a=21;
$b=12;
$c=-1545;
$d=-52356;
// $a,$b,$c,$d son numeros Enteros
?>
¿ Es una Variable Entero ?
Existe la funcion is_int($variable) la cual tiene como argumento una $variable, devuelve Verdadero si la $variable es entera, caso contrario Falso
<?
$a=21;
// ¿ Es $a Entero ?
if ( is_int($a) )
{
echo "Si es Entero";
}
?>
Convertir Varibles a Enteros
No es muy necesario esto, ya que si un operador,funcion,etc necesita
como argumento un entero, transforma automaticamente la variable a
entero, de todas formas podemos nosotros transformar variables a
enteros con la funcion (int)
<?
$a="52323"; // Es un String (ya que comenzo con comillas)
echo '$a es de tipo '.gettype($a).' <br>';
echo ' Transformamos a Entero ';
$a=(int)$a;
echo '$a es de tipo '.gettype($a).' <br>';
// integer es entero en ingles :P
?>
Esto aveces es necesario, ya que si dividimos un entero por otro
entero, y si el resultado es decimal, automaticamente el PHP transforma
la salida a float, asi que si queremos un entero, debemos usar esta
funcion.
Puntos Flotantes (Float)
Es el conjunto numerico R (reales) { ... -3 -3.5 ... - 2.43 -1.3532 0 1.412 2.352 2.4 3.53 ... }
¿ Como Declarar un Real ?
Vamos a llamar a los Numeros Reales Float o Double, la Manera de declararlos es asignar un numero real o en expresion cientifica
<?
$a=432423.33; // Declarado En Numero Real
$b=21.21e-423; // Declarado En Notecion Cientifica
?>
¿ Es una Variable Real (Float o Double) ?
Atravez de la funcion booleanas is_double() o is_float() ,devuelven Verdadero en caso afirmativo
<?
$a=432423.33; // Declarado En Numero Real
$b=21.21e-423; // Declarado En Notecion Cientifica
$a=432423.33; // Declarado En Numero Real
$b=21.21e-423; // Declarado En Notecion Cientifica
if ( is_double($a))
{
echo '$a es float osea double<br>';
}
if ( is_float($a))
{
echo '$a es float osea double<br>';
}
if ( is_double($b))
{
echo '$b es float osea double';
}
if ( is_float($a))
{
echo '$b es float osea double';
}
// Es decir Double es igual a Float
?>
Convertir Varibles a Reales (Double o Float)
SSimplemente usamos la funcion (float)$variable o (double)$variable
<?
$a="523.52323"; // Es un String (ya que comenzo con comillas)
echo '$a es de tipo '.gettype($a).' <br>';
echo ' Transformamos a Float ';
$a=(double)$a;
echo '$a es de tipo '.gettype($a).' <br>';
?>
Vectores
Un Vector en los Lenguajes de Programacion, es una Variable que tiene un Nombre que la Identifica y tiene Indices
(Posiciones) para guardar datos (esos pueden ser numeros,string,otro
vector,etc ...). Un vector es una Matriz unidimensional (una sola
dimension)
Como Podemos Ver en el Esquema de un Vector, La primera posicion es siempre 0, si un vector tiene 5 Posiciones, tiene los siguientes indices 0 1 2 3 4
¿ Como Declarar y Acceder a un Vector ?
La Forma de declara, asignar valores y Acceder a un vector es la siguiente
<?
// Declarar y Asignar Valores
$vector[0]=422;
$vector[1]=322;
$vector[2]=-52323;
$vector[3]=7452;
// Hemos Creado un Vector que tiene 4 Posiciones
// Acceder al Vector
echo ' Vamos a Acceder a la Primera Posicion del Vector <br>';
echo ' El Valor Guardado en la Primera Posicion es : '.$vector[0].' <br> ';
echo ' El Valor Guardado en la Segunda Posicion es : '.$vector[1].' <br> ';
// Copiar Vectores
$a = $vector ;
// Ahora la variable $a es un Vector
?>
¿ Como Recorrer un Vector ?
Con un for podemos recorrer/acceder a cada indice de un Vector, Lo importante es
- Inicializar el contador en 0 $i=0
- Condicion de Termino $i<count($vector) // La funcion count entrega el Numero Total de Posiciones de un Vector
- Incremento en 1 $i++
<?
// Creamos el Vector
$vector[0]=422;
$vector[1]=322;
$vector[2]=-52323;
$vector[3]=7452;
// Recorremos el Vector y Imprimimos sus Datos
for ($i=0;$i<count($vector);$i++)
{
echo 'Posicion '.$i.' Valor : '.$vector[$i].' <br> ';
}
// Sumamos el Anterior al Valor del Vector
for ($i=0;$i<count($vector);$i++)
{
// Si estamos en la Posicion 0 no tenemos antecesor
if ($i != 0 )
{
$vector[$i]=( $vector[$i]+$vector[($i-1)] );
}
}
// Imprimimos Estructura del Vector
print_r($vector);
// La funcion print_r es muy util para conocer la estructura de las Variables
// Pero no es util a la hora de la Creacion de Scripts :P
?>
Tambien el PHP tiene el Bucle foreach El cual accede a todos los indices de un Vector o Matriz
<?
// Creamos el Vector
$vector[0]=422;
$vector[1]=322;
$vector[2]=-52323;
$vector[3]=7452;
// Recorremos el Vector y Imprimimos sus Datos
foreach ($vector as $valor)
{
// el valor en cada iteracion se encuentra en $valor
echo 'valor '.$valor.' <br>';
}
?>
Vectores con Indices Literales
PHP tambien permite que los indices un Vector sean Palabras, el indice en esta ocacion debe ir con comillas simples o dobles
<?
// Vector con Indices Literales
$vector['uno']=523;
$vector['dos']=3223;
$vector['tres']=4223;
// Imprimir Valores del Vector
echo ' El Valor en uno es : '.$vector["uno"].'<br>';
echo ' El Valor en dos es : '.$vector["dos"].'<br>';
// Para Recorrer estos Vectores, hay que usar foreach
foreach ($vector as $valor)
{
echo $valor;
}
?>
Funciones Utilies para Vectores
Las funciones mas utiles para usar con Vectores.
- array_count_values($vector) : Devuelve un Vector con la Frecuencia de los Datos del Vector de Entrada
<?
$vector[0]=52;
$vector[1]=22;
$vector[2]=52;
$vector[3]=521;
$vector[4]=2;
$vector[5]=22;
$frecuencia=array_count_values($vector);
foreach ($frecuencia as $indice => $valor)
{
echo ' Indice : '.$indice.' Valor : '.$valor.' <br> ';
}
// Como podemos Observa en el Foreach $indice contiene el Nombre del Indice del Vector
// Es la mejor forma de Acceder a un Vector con Indices Literales
?>
- array_flip($vector) : Devuelve el Vector inverso de $vector
- array_merge($v1,$v2,$v3...) : Devuelve un Vector Unidos (concatenacion) de los Vectores Parametros
<?
$vector[0]=52;
$vector[1]=22;
$vector[2]=52;
$vector[3]=521;
$mivector[0]=132;
$mivector[1]=342;
$mivector[2]=622;
$mivector[3]=523.2352;
$vectoresultado=array_merge($vector,$mivector);
print_r($vectoresultado);
?>
Imprime
Array
(
[0] => 52
[1] => 22
[2] => 52
[3] => 521
[4] => 521
[5] => 2
[6] => 22
[7] => 132
[8] => 342
[9] => 622
[10] => 523.2352
)
- array_pop($vector) : Devuelve y extrae el valor el ultimo elemento del Vector
- array_push($vector,$num1,$num2...) : Agrega al final del Vector $vector los $num1,$num2 ...
- array_reverse($vector) : Devuelve un vector con los elementos en orden inverso de $vector
- array_shift($vector) :Devuelve y extrae el valor del primer elemento de $vector
- array_slice($vector,$inicio,$fin) : Extrae de $vector los elementos que van desde la posición $inicio hasta $incio+$fin, devolviendo un nuevo vector con dichos elementos
- array_splice($vector,$inicio,$fin,$opcional) : Elimina los elementos de $vector desde $inicio hasta $incio+$fin, si existe $opcional, inserta en su lugar los elementos del vector $opcional
- array_values($vector) : Regresa un vector con todos los valores de $vector
- array_walk($vector,"func") : Aplica la función func a todos los elementos de $vector
- arsort($vector) : Ordena $vector de forma inversa manteniendo la asociación clave-valor
- asort($vector) : Ordena $vector manteniendo la asociación clave-valor
- count($vector) : Devuelve el número de elementos de una variable
- in_array($dato,$vector) : Devuelve verdadero si $dato se encuentra en $vector
- krsort($vector) : Ordena $vector de forma inversa en base a los indices
- ksort($vector) : Ordena $vector en base a los indices
- list($a,$b,$b,...) : Asigna variables como si fueran un vector
<?
$mivector = list (3,12,542,2352,65474,1412);
print_r($mivector);
?>
- shuffle($vector) : Ordena al azar los elementos de $vector
- sizeof($vector) : Devuelve el número de elementos de $vector
- sort)$vector : Ordena el $vector
Comentarios de Variables Numericas y Vectores Numericos PHP
↑ Tutorial