Código PHP:
$a+=
$a==$a++, // (false ($a se incrementa en 1)) 1
$a+$a, // (1+1) 2
$a+$a++, // (1 + (1+1)) 3
$a*$a; // (2*2) 4
notice: undefined variable: a .... etc
[1234]
saludos.
| |||
Respuesta: Juego: "¿Dónde está el error?" aparte del notice por la variable indefinida :P? Código PHP: notice: undefined variable: a .... etc [1234] saludos. |
| ||||
Respuesta: Juego: "¿Dónde está el error?" Cita: eso se puede comprobar con algo así:$a+= $a==$a++, // (false ($a se incrementa en 1)) 1 // aqui en realidad da true por tanto se guarda como 1 $a+$a, // (1+1) 2 $a+$a++, // (1 + (1+1)) 3 // y aqui en realidad la segunda $a se toma como 1 y queda $a+(1)) = 2 y luego toma el ++ $a*$a; // (2*2) 4
Código PHP:
Ver original de todos modos llegaron al mismo resultado [1234] aunque no haya sido correcto XD
__________________ El objetivo de este foro es orientar al usuario como un favor y no como una obligación. Yo soy de los que dan puntos por aporte :D Última edición por stramin; 26/05/2011 a las 12:41 |
| ||||
Respuesta: Juego: "¿Dónde está el error?" ¿Por qué esto
Código PHP:
imprime 7 en vez de 8? Y ¿cómo se puede resolver sin quitar nada de la expresión?, solo añadir. Ver original
__________________ Verifica antes de preguntar. Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos |
| ||||
Respuesta: Juego: "¿Dónde está el error?" agregando un "+1" al final queda en 8 :D hablando en serio, sin borrar ese (int) no se me ocurre como...
__________________ El objetivo de este foro es orientar al usuario como un favor y no como una obligación. Yo soy de los que dan puntos por aporte :D |
| ||||
Respuesta: Juego: "¿Dónde está el error?" Todavía, doy más tiempo, hay que leer para poder saber que ocurre.
__________________ Verifica antes de preguntar. Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos |
| ||||
Respuesta: Juego: "¿Dónde está el error?" es porque es un numero de punto flotante? ya que la representación interna seria algo como 7.9999999999999991118
__________________ Agregadecer no cuesta nada O SI? |
| ||||
Respuesta: Juego: "¿Dónde está el error?" si, es la representación binaria de los flotantes, ocurre en todos los lenguajes al sumar numeros con decimal menor que 5 y otro mayor que 5, no solo PHP 0.1+0.7 = 7.9999999999999 O 0.1+0.7 = 8.0000000000001 (esto ocurre en javascript) la pregunta es como demonios hacer que quede 8 sin quitar ese (int) XD
__________________ El objetivo de este foro es orientar al usuario como un favor y no como una obligación. Yo soy de los que dan puntos por aporte :D |
| ||||
Respuesta: Juego: "¿Dónde está el error?" LO TENGO!!!! ROUND()!!! echo (int)round((0.1 + 0.7) * 10);
__________________ El objetivo de este foro es orientar al usuario como un favor y no como una obligación. Yo soy de los que dan puntos por aporte :D |
| ||||
Respuesta: Juego: "¿Dónde está el error?" jajaja bueno nose yo simplemente lo descrubi en 1minuto leyendo el manual de php sobre numeros enteros
__________________ Agregadecer no cuesta nada O SI? |
| ||||
Respuesta: Juego: "¿Dónde está el error?" jajaja es porque di el problema resuelto? de que en realidad el script botaba 7.99999999999123 y era simplemente pensar que con round lo redondeabas pero no lei la parte que decia que tenia que poner el codigo o algo asi sera para la proxima, asi que stramin te toca preguntar :D
__________________ Agregadecer no cuesta nada O SI? |
| ||||
Respuesta: Juego: "¿Dónde está el error?" en mi caso creo que solo fue suerte, probé unas 100 opciones sin lograrlo XD incluso había intentado así: echo (int)(round(0.1 + 0.7)*10); lo cual me da 10! XD (int)(round(0.8)*10) (int)(1*10) (int)10 con abimaelrc, gatorV, hidek1, metacortex y Sourcegeek siempre aprendo cosas nuevas y raras XD con este foro siento que perdí mucho dinero yendo a la universidad D:
__________________ El objetivo de este foro es orientar al usuario como un favor y no como una obligación. Yo soy de los que dan puntos por aporte :D |
| ||||
Respuesta: Juego: "¿Dónde está el error?" Exacto, pero la mejor forma es trabajando con BC Math. Es decir, la forma como se puede resolver sería
Código PHP:
Ver original Esas funciones, son las indicadas para trabajar con precisiones, ejemplo una suma en PHP así
Código PHP:
Pero con BC MathVer original
Código PHP:
Es importante que se use entre comillas para que las funciones de bc math puedan trabajarlas, ya que php cuando almacena los valores en las variables y son enteros, las va a almacenar como exponenciales. Es decir Ver original
Código PHP:
y no va a poder trabajarlos con ese dato. Ver original
__________________ Verifica antes de preguntar. Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos |
| ||||
Respuesta: Juego: "¿Dónde está el error?"
__________________ Verifica antes de preguntar. Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos |
| ||||
Respuesta: Juego: "¿Dónde está el error?" jajajaja es la verdad en el foro aprendemos muchas cosas leyendo las preguntas de otros y tratando de responderlas, estoy casi todo el dia conectado al foro, ahora esperemos a stramin haga su pregunta y espero que sea un codigo complejo es mas metele POO PHP jaja ;)
__________________ Agregadecer no cuesta nada O SI? |
| ||||
Respuesta: Juego: "¿Dónde está el error?" Pues es que me preocupa últimamente lo que comentan en estos foros
__________________ Verifica antes de preguntar. Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos |
| ||||
Respuesta: Juego: "¿Dónde está el error?" XD es que son tan raros aquí Uno curioso, 2 preguntas 1.- cual debería ser el resultado de esto?
Código PHP:
Ver original 2.- que está haciendo el "+=" en la secuencia? XD es algo que me toco entender hoy.
__________________ El objetivo de este foro es orientar al usuario como un favor y no como una obligación. Yo soy de los que dan puntos por aporte :D |
| |||
Respuesta: Juego: "¿Dónde está el error?" Cita: 1.Resultado del array en sus 4 índices = 1
Iniciado por stramin 1.- cual debería ser el resultado de esto?
Código PHP:
Ver original 2.- que está haciendo el "+=" en la secuencia? 2.Asignar el valor 1 al array, como no se define índice es el siguiente. Código PHP:
__________________ Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :( |
| ||||
Respuesta: Juego: "¿Dónde está el error?" cerca pero no XD es aun mas extraño :O
__________________ El objetivo de este foro es orientar al usuario como un favor y no como una obligación. Yo soy de los que dan puntos por aporte :D |
| |||
Respuesta: Juego: "¿Dónde está el error?" Entonces voy a aprender algo nuevo
__________________ Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :( |
| ||||
Respuesta: Juego: "¿Dónde está el error?" mmm simplemente creo que les asiga 1 osea en realidad suma +1 a todo los indices pero como todos son 0 se suma 0 + 1 ? es lo que yo pienso nose jaja Código PHP:
__________________ Agregadecer no cuesta nada O SI? |
| ||||
Respuesta: Juego: "¿Dónde está el error?" pues aunque parezca extraño es eso, el indice $array[] se inicia siempre como una nueva ubicación (siguiente a la anterior), pero al momento de iniciarse esta vacía, por eso se toma como una simple suma de 0 + 1 claro que para llegar a esa conclusión tuve que hacer otra cosa, mira el resultado de esto: $array[]-=$array[]-=$array[]-=$array[]-=1; uno creería que el resultado debería ser correlativo (1234 o 4321 o 10-1-2) o quizas el mismo que con la suma (-1 -1 -1 -1) pero tampoco, comprueben ustedes mismos XD
__________________ El objetivo de este foro es orientar al usuario como un favor y no como una obligación. Yo soy de los que dan puntos por aporte :D |
| ||||
Respuesta: Juego: "¿Dónde está el error?" En array el usar el simbolo de suma lo que hace es como unir (similar a como hace el el punto con texto, o sea concatenar). Como el simbolo de = se asigna de derecha a izquierda entonces primero se asigna al último array el valor de 1 y luego el penultimo array toma el valor y así sucesivamente. Como también está el simbolo de + lo que hace es unir los array y al final queda formando así:
Código PHP:
Ver original Edito: Ehhh stramin, creo que tampoco entendías como funcionaba jajajaja
__________________ Verifica antes de preguntar. Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos |
| ||||
Respuesta: Juego: "¿Dónde está el error?" prueba el código ese que puse y fijate que no se concatena :) releyendo lo que pusiste... si al final es eso mismo un suma de 0 + 1 tal como dijo rikardoz, solo que te complicaste mas XD le toca a rikardoz XD
__________________ El objetivo de este foro es orientar al usuario como un favor y no como una obligación. Yo soy de los que dan puntos por aporte :D |
Etiquetas: |