Foros del Web » Programando para Internet » PHP »

Juego: "¿Dónde está el error?"

Estas en el tema de Juego: "¿Dónde está el error?" en el foro de PHP en Foros del Web. Cita: Iniciado por De_la_Cuesta_13 Cita: Iniciado por Sourcegeek Si no me llevo bien, cómo será que encontré el resultado? Igual nunca se me ocurrió una ...

  #391 (permalink)  
Antiguo 23/05/2011, 19:17
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 20 años, 6 meses
Puntos: 832
Respuesta: Juego: "¿Dónde está el error?"

Cita:
Iniciado por De_la_Cuesta_13 Ver Mensaje
Cita:
Iniciado por Sourcegeek Ver Mensaje
Si no me llevo bien, cómo será que encontré el resultado?
Igual nunca se me ocurrió una solución así en PHP...

Y bueno, con lo de las literales me refería que en PHP no se puede escribir una ecuación con literales en string y que PHP interprete todo
Compañero, la forma como usted encontró el resultado es errónea, se ve que usted poco conoce de las propiedad distributiva. Ah, si hubiese encontrado el resultado correctamente, la edad del hijo le daba exactamente 7, número entero.
De_la_Cuesta_13, ya el tema estuvo. Es sólo un juego para divertirse un rato, de acuerdo?
  #392 (permalink)  
Antiguo 23/05/2011, 19:20
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 15 años, 6 meses
Puntos: 322
Respuesta: Juego: "¿Dónde está el error?"

Bueno, ahora a quién le toca tirar?
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #393 (permalink)  
Antiguo 23/05/2011, 19:52
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Juego: "¿Dónde está el error?"

Código PHP:
Ver original
  1. <?php
  2. function replace_words($list, $line, $callback) {
  3.     return preg_replace_callback(
  4.         '/(' . implode('|', array_map('preg_quote', $list)) . ')/is',
  5.         function($v) { return $callback($v[1]); },
  6.         $line
  7.     );
  8. }
  9. $list = array('foo', 'candy');
  10. $str = "foo bar baz candy fruits";
  11.  
  12. echo htmlentities(replace_words($list, $str, function($v) {
  13.     return "<strong>{$v}</strong>";
  14. }));
Para versiones de PHP 5.3.x, se supone que imprima
Cita:
<strong>foo</strong> bar baz <strong>candy</strong> fruits
Pero sale
Cita:
Notice: Undefined variable: callback in ... on line 5

Fatal error: Function name must be a string in ... on line 5
¿Por qué y como resolverlo sin usar variables globales?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #394 (permalink)  
Antiguo 23/05/2011, 20:42
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: Juego: "¿Dónde está el error?"

function($v) use ($callback) ???
__________________
More about me...
~ @rhyudek1
~ Github
  #395 (permalink)  
Antiguo 23/05/2011, 20:58
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Juego: "¿Dónde está el error?"

Ehhh, ¿por qué?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #396 (permalink)  
Antiguo 23/05/2011, 21:00
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 15 años, 6 meses
Puntos: 322
Respuesta: Juego: "¿Dónde está el error?"

Hmm.. Porque la función no puede acceder a $callback por ser variable externa a ésta?
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #397 (permalink)  
Antiguo 23/05/2011, 21:09
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Juego: "¿Dónde está el error?"

Ok, Bueno en lo que alguien formula una, si tengo esto
Código PHP:
Ver original
  1. <?php
  2. $fn = function () use ($country) { echo $country . "<br />"; };
  3. $country = 'Puerto Rico';
  4. $fn();
  5.  
  6. $country = 'Europa';
  7. $fn = function () use ($country) { echo $country . "<br />"; };
  8. $country = 'Puerto Rico';
  9. $fn();
  10.  
  11. $country = (object)array('name' => 'Europa');
  12. $fn = function () use ($country) { echo $country->name . "<br />"; };
  13. $country = (object)array('name' => 'Puerto Rico');
  14. $fn();
  15.  
  16. $country = (object)array('name' => 'Europa');
  17. $fn = function () use ($country) { echo $country->name . "<br />"; };
  18. $country->name = 'Puerto Rico';
  19. $fn();

Debe imprimir
Cita:
Puerto Rico
Puerto Rico
Puerto Rico
Puerto Rico
Sin embargo imprime
Código PHP:
Ver original
  1. Notice: Undefined variable: country in ... on line 2
  2. Europa
  3. Europa
  4. Puerto Rico
¿Por qué y como se resolvería? ¿Por qué el último imprime correctamente el resultado?

PD: traten de dar la explicación no solo la resolución.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #398 (permalink)  
Antiguo 23/05/2011, 21:23
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 15 años, 6 meses
Puntos: 322
Respuesta: Juego: "¿Dónde está el error?"

Hmm.. Lo último me confundió un poco, sí que soy un joven padawan Bueno, trataré de explicar a ver si me doy a entender:

En el primero la función con use() accede a la variable que debería ser declarada antes de ésta, pero como está declarada después, tira error de undefined variable (variable no definida)
En la segunda función es parecido: Como la variable debe ser definida antes de la declaración de la función, no se toma en cuenta a Puerto Rico porque está después
En la tercera función es igual pero se usan objetos
En la cuarta función, antes de ésta se crea un objeto y se declara la función, pero luego se asigna un valor al objeto (Puerto Rico) para después llamar a la función que tiene que acceder al valor asignado (Puerto Rico). Para explicar mejor, el proceso sería:
1- Creo un objeto
2- Declaro una función
3- Le asigno un valor al objeto
4- El objeto creado antes de la función ahora contiene el valor asignado
5- Se ejecuta la función accesando al valor asignado al objeto creado

Para terminar, el código correcto debería ser:
Código PHP:
<?php
$country 
'Puerto Rico';
$fn = function () use ($country) { echo $country "<br />"; };
$fn();
 
$country 'Puerto Rico';
$fn = function () use ($country) { echo $country "<br />"; };
$fn();
 
$country = (object)array('name' => 'Puerto Rico');
$fn = function () use ($country) { echo $country->name "<br />"; };
$fn();
 
$country = (object)array('name' => 'Europa');
$fn = function () use ($country) { echo $country->name "<br />"; };
$country->name 'Puerto Rico';
$fn();
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #399 (permalink)  
Antiguo 23/05/2011, 21:32
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Juego: "¿Dónde está el error?"

Se puede resolver de otra forma aún más sencilla, sin mover código. Y la explicación..., bueno vamos a ver si puedes pegarla un poco mejor. La razón es que siempre llamé la función despues de las variables, por eso la parte de $fn();
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #400 (permalink)  
Antiguo 23/05/2011, 21:37
Avatar de empowdered  
Fecha de Ingreso: mayo-2011
Mensajes: 1
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Juego: "¿Dónde está el error?"

se que no va en este hilo

pero una preguntonta ... como miercale puedo comenzar un hilo para solicitar ayuda ===???

saludos
quien me responda mxas gracias
  #401 (permalink)  
Antiguo 23/05/2011, 21:40
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Juego: "¿Dónde está el error?"

@empowdered, bienvenid@ En cada foro hay un botón arriba a la izquierda que dice Nuevo Tema.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #402 (permalink)  
Antiguo 23/05/2011, 21:43
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 15 años, 6 meses
Puntos: 322
Respuesta: Juego: "¿Dónde está el error?"

Por ahora no se me ocurre otra solución, mañana le pienso
Y no, no se explicar
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #403 (permalink)  
Antiguo 24/05/2011, 08:33
Avatar de quike88  
Fecha de Ingreso: agosto-2008
Mensajes: 471
Antigüedad: 16 años, 3 meses
Puntos: 87
Respuesta: Juego: "¿Dónde está el error?"

use() utiliza las variables al momento en el que se declara la función, y no cuando se la llama.

Para que se use la variable después se añade &:

Código PHP:
Ver original
  1. <?php
  2. $fn = function () use (&$country) { echo $country . "<br />"; };
  3. $country = 'Puerto Rico';
  4. $fn();
  5.  
  6. $country = 'Europa';
  7. $fn = function () use (&$country) { echo $country . "<br />"; };
  8. $country = 'Puerto Rico';
  9. $fn();
  10.  
  11. $country = (object)array('name' => 'Europa');
  12. $fn = function () use (&$country) { echo $country->name . "<br />"; };
  13. $country = (object)array('name' => 'Puerto Rico');
  14. $fn();
  15.  
  16. $country = (object)array('name' => 'Europa');
  17. $fn = function () use (&$country) { echo $country->name . "<br />"; };
  18. $country->name = 'Puerto Rico';
  19. $fn();

Y el ultimo ejemplo si funciona correctamente porque al pasar el objeto como parámetro, lo que se pasa es el identificador del mismo, osea que si se cambia el valor después si lo toma.. o eso creo
  #404 (permalink)  
Antiguo 24/05/2011, 10:51
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Juego: "¿Dónde está el error?"

Correcto, bueno el último como que.... Lo que pasa con el último es que pasa una copia del identificador del objeto a la función y como se está haciendo referencia al objeto, cuando se declara por segunda vez este es el que muestra porque se está cambiando el valor de la propiedad del objeto. Vamos, es como si se hiciera referencia automática. Pero PHP indica claramente que el usar objeto no quiere decir que se haga referencia automática, por eso estoy tratando de evitar decirlo así, recomiendo esta lectura http://www.php.net/manual/en/languag...references.php

Tú turno quike88

Edito: Ahora releyendo tu comentario, está igual lo único que yo lo compliqué
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #405 (permalink)  
Antiguo 25/05/2011, 14:10
Avatar de quike88  
Fecha de Ingreso: agosto-2008
Mensajes: 471
Antigüedad: 16 años, 3 meses
Puntos: 87
Respuesta: Juego: "¿Dónde está el error?"

esto:
Código PHP:
Ver original
  1. $a = array();
  2. for($i=0; $i < 3; $i++) {
  3.    $a += array('uno', 'dos', 'tres');
  4. }
  5. print_r($a);
da como resultado:
Código:
[1] => uno 
[2] => dos 
[3] => tres
¿Qué se debería añadir a la linea dentro del forpara obtener esto?
Código:
[1] => uno 
[2] => dos 
[3] => tres 
[4] => uno 
[5] => dos 
[6] => tres 
[7] => uno 
[8] => dos 
[9] => tres
  #406 (permalink)  
Antiguo 25/05/2011, 14:33
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: Juego: "¿Dónde está el error?"

bueno en realidad el key empieza por 0 y no por 1.. lo que no entiendo es el signo de incremento pero bueno una solución podría ser la función array_merge ?

Código PHP:
<?php
$a 
= array();
for(
$i=0$i 3$i++) {
    
$a += array_merge($a, array('uno''dos''tres'));
}
print_r($a);


si no era.. me avisas porque quede con la intriga =)
__________________
More about me...
~ @rhyudek1
~ Github
  #407 (permalink)  
Antiguo 25/05/2011, 15:20
Avatar de quike88  
Fecha de Ingreso: agosto-2008
Mensajes: 471
Antigüedad: 16 años, 3 meses
Puntos: 87
Respuesta: Juego: "¿Dónde está el error?"



Cita:
Iniciado por Hidek1 Ver Mensaje
bueno en realidad el key empieza por 0 y no por 1
Tienes razón

Mi solución era esta:

Código PHP:
Ver original
  1. $a = array();
  2. for($i=0; $i < 3; $i++) {
  3.    $a += array(count($a) => 'uno', 'dos', 'tres');
  4. }
  5. print_r($a);

y por eso era necesario el +=.

Tu turno Hidek1
  #408 (permalink)  
Antiguo 25/05/2011, 16:24
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: Juego: "¿Dónde está el error?"

bueno no ando muy imaginativo que digamos pero ahi va algo


Código PHP:
<?php
$string 
= <<<EOT
A-123
B-abc
EOT;
preg_match('/(?(?<=[A-Z])[0-9]{3}|[a-z]{3})/'$string$matches);
echo 
$matches[0]; // imprime: abc
con solo una modificación en la expresión como harías que imprima 123

saludos

EDITO: por petición de pateketrueke que me esta retando u.u ! con modificación me refiero a "agregar, editar o eliminar" un carácter !
__________________
More about me...
~ @rhyudek1
~ Github

Última edición por Hidek1; 25/05/2011 a las 16:50
  #409 (permalink)  
Antiguo 25/05/2011, 16:27
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Juego: "¿Dónde está el error?"

[B-Z]

Edito: a ver, no... ¿modificar solo un carácter de la regex?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #410 (permalink)  
Antiguo 25/05/2011, 16:38
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: Juego: "¿Dónde está el error?"

Cita:
Iniciado por pateketrueke Ver Mensaje
[B-Z]

Edito: a ver, no... ¿modificar solo un carácter de la regex?
en realidad se puede de varias formas.. yo le agregue 1 carácter por mi parte!
__________________
More about me...
~ @rhyudek1
~ Github
  #411 (permalink)  
Antiguo 25/05/2011, 16:59
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Juego: "¿Dónde está el error?"


Código PHP:
Ver original
  1. <?php
  2. $string = <<<EOT
  3. A-123
  4. B-abc
  5. EOT;
  6. preg_match('/(?(?<=[A-Z]-)[0-9]{3}|[a-z]{3})/', $string, $matches);
  7. echo $matches[0]; // imprime: 123
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #412 (permalink)  
Antiguo 25/05/2011, 17:23
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 20 años, 6 meses
Puntos: 832
Respuesta: Juego: "¿Dónde está el error?"

Cita:
Iniciado por quike88 Ver Mensaje
Cita:
Iniciado por Hidek1 Ver Mensaje
Cita:
Iniciado por quike88 Ver Mensaje
esto:
Código PHP:
Ver original
  1. $a = array();
  2. for($i=0; $i < 3; $i++) {
  3.    $a += array('uno', 'dos', 'tres');
  4. }
  5. print_r($a);
da como resultado:
Código:
[1] => uno 
[2] => dos 
[3] => tres
¿Qué se debería añadir a la linea dentro del forpara obtener esto?
Código:
[1] => uno 
[2] => dos 
[3] => tres 
[4] => uno 
[5] => dos 
[6] => tres 
[7] => uno 
[8] => dos 
[9] => tres
bueno en realidad el key empieza por 0 y no por 1.
Tienes razón
Y con ustedes el nuevo feliz ganador de... LA VECINAAA!!!.

@quike88, te has llevado el premio gordo mencionado en la regla 8.
  #413 (permalink)  
Antiguo 25/05/2011, 17:26
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 15 años, 6 meses
Puntos: 322
Respuesta: Juego: "¿Dónde está el error?"

Aplausos quike88! Enjoy she!
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #414 (permalink)  
Antiguo 25/05/2011, 18:12
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: Juego: "¿Dónde está el error?"

Cita:
Iniciado por abimaelrc Ver Mensaje

Código PHP:
Ver original
  1. <?php
  2. $string = <<<EOT
  3. A-123
  4. B-abc
  5. EOT;
  6. preg_match('/(?(?<=[A-Z]-)[0-9]{3}|[a-z]{3})/', $string, $matches);
  7. echo $matches[0]; // imprime: 123

siii y citando tu propio mensaje

Cita:
Iniciado por abimaelrc
Ehhh, ¿por qué?
__________________
More about me...
~ @rhyudek1
~ Github
  #415 (permalink)  
Antiguo 25/05/2011, 18:40
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Juego: "¿Dónde está el error?"

A pues voy a dejar que otro conteste, así como hiciste, jajajaja

Además no pides un porque en el primer post

Edito: Es que no puedo dejarlo sin contestación, La razón es porque el simbolo | lo que dice que verifique el patrón de la izquierda, que en el caso de que no tuviera el - debería hacer un match de algo similiar a A123 (porque lo que haces es algo como (A-Z){1}(0-9){3} un caracter y tres números) o el de la derecha que solo dice que verifica un match que tenga de la a a la z y que sean tres caracteres. Como el primero no se cumple, entonces el segundo sí y eso es lo que muestra. Ahora cuando se le añade el simbolo de -, entonces el patrón busca primero si existe algo como A-123 (porque lo que haces es algo como (A-Z){1}-(0-9){3} un caracter, el simbolo de menos y tres dígitos). Al encontrar el match, ya es suficiente y no continúa porque el preg_match busca la primera ocurrencia. Para más información de lo que hace (?<=.......) recomiendo esta lectura http://www.php.net/manual/en/regexp....assertions.php
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Última edición por abimaelrc; 25/05/2011 a las 19:09
  #416 (permalink)  
Antiguo 25/05/2011, 19:07
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Juego: "¿Dónde está el error?"

Hidek1 Si acerté a la explicación, te pido que pongas otro ejemplo de Expresión Regular, ya que tu eres uno (y pateke) de los domina muy bien las expresiones. En lo que busco algo, claro está si es que no metí la pata en la explicación
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #417 (permalink)  
Antiguo 26/05/2011, 07:30
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: Juego: "¿Dónde está el error?"

Cita:
Iniciado por abimaelrc Ver Mensaje
A pues voy a dejar que otro conteste, así como hiciste, jajajaja

Además no pides un porque en el primer post

Edito: Es que no puedo dejarlo sin contestación, La razón es porque el simbolo | lo que dice que verifique el patrón de la izquierda, que en el caso de que no tuviera el - debería hacer un match de algo similiar a A123 (porque lo que haces es algo como (A-Z){1}(0-9){3} un caracter y tres números) o el de la derecha que solo dice que verifica un match que tenga de la a a la z y que sean tres caracteres. Como el primero no se cumple, entonces el segundo sí y eso es lo que muestra. Ahora cuando se le añade el simbolo de -, entonces el patrón busca primero si existe algo como A-123 (porque lo que haces es algo como (A-Z){1}-(0-9){3} un caracter, el simbolo de menos y tres dígitos). Al encontrar el match, ya es suficiente y no continúa porque el preg_match busca la primera ocurrencia. Para más información de lo que hace (?<=.......) recomiendo esta lectura http://www.php.net/manual/en/regexp....assertions.php


mi idea era usar las condicionales dentro del las regex
http://www.php.net/manual/en/regexp....onditional.php

Código pcre:
Ver original
  1. (?(condition)true|false)

... intentare armar otro ejercicio con pcre... mientras tanto sedo el lugar


------
PD: recuerda que los rangos a-z, 0-9, etc.... se pueden especificar dentro de corchetes y no de paréntesis
__________________
More about me...
~ @rhyudek1
~ Github
  #418 (permalink)  
Antiguo 26/05/2011, 09:20
Avatar de quike88  
Fecha de Ingreso: agosto-2008
Mensajes: 471
Antigüedad: 16 años, 3 meses
Puntos: 87
Respuesta: Juego: "¿Dónde está el error?"

Cita:
Iniciado por metacortex Ver Mensaje
Y con ustedes el nuevo feliz ganador de... LA VECINAAA!!!.

@quike88, te has llevado el premio gordo mencionado en la regla 8.
Noooooooo!! maldita regla! y bueno.. ya que me encuentro en esta situación, me podrían decir donde debo pasar el fin de semana?
  #419 (permalink)  
Antiguo 26/05/2011, 10:18
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 8 meses
Puntos: 336
Respuesta: Juego: "¿Dónde está el error?"

uno corto y curioso, sin ejecutar este código, cual es la salida de esto?

Código PHP:
<?php
echo "[";
echo 
$a+=$a==$a++,$a+$a,$a+$a++,$a+$a;
echo 
"]";
?>
__________________
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
  #420 (permalink)  
Antiguo 26/05/2011, 10:22
3nr1c
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Juego: "¿Dónde está el error?"

Depende, así y ahora, te daría un error (Notice) porque $a no está definida.

Pero, si le asignas un valor a $a, por ejemplo 0, te devuelve [1234]

Etiquetas: a-por-la-vecina-de-meta, juegos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 40 personas




La zona horaria es GMT -6. Ahora son las 12:54.