Foros del Web » Programando para Internet » PHP »

Strings

Estas en el tema de Strings en el foro de PHP en Foros del Web. Hola a todos. Tengo una super duda. Lo que quiero hacer es tomar una variable x. x ejemplo: x = "1-24"; o x = "1,2,3,4,5,6,10,12,15,17,19,20,24"; ...
  #1 (permalink)  
Antiguo 10/07/2004, 18:56
 
Fecha de Ingreso: julio-2004
Mensajes: 1
Antigüedad: 19 años, 9 meses
Puntos: 0
Pregunta Strings

Hola a todos.

Tengo una super duda.

Lo que quiero hacer es tomar una variable x.

x ejemplo: x = "1-24";

o x = "1,2,3,4,5,6,10,12,15,17,19,20,24";

etc.

Lo que quiero hacer es encontrar la funcion para poner el string y enseguida el numero entero correspondiente a la letra que quiero obtener de ese string.

Por ejemplo:

cuando x = "1,2,3,10,15,20,24";

entonces funcion(x,3);

y obtengo: 2.

PERO TAMBIEN DESEARIA SUGERENCIAS PARA HACER ESTO:

quiero hacer una lista de "tallas" configuradas desde un "Panel de control". Bien, el usuario podrà "escribir" en un campo de texto un "rango" para crearlo.

Por ejemplo: cuadro de texto = 1-24. Lo que significa que se tendrà que crear una lista de menu de formulario del 1 hasta el 24.

Tambièn deberà de hacer lo siguiente en caso de que sen rangos interrumpidos. Ejemplo: cuadro de texto = 1,2,3,4,10,12,24. Lo que significa que tendrà el programa que crear una lista con esos valores.

¡Ayuda por favor GRACIAS Y SALUDOS!

Es lo que quiero saber, gracias y saludos.

Última edición por harrypotter; 10/07/2004 a las 19:00
  #2 (permalink)  
Antiguo 11/07/2004, 19:59
 
Fecha de Ingreso: octubre-2003
Mensajes: 152
Antigüedad: 20 años, 5 meses
Puntos: 2
Código PHP:
function Buscar($str,$num)
{
   
$valoresexplode(",",$num);
   for(
$i=0;$i<count($valores);$i++)
      if(
$valores==$num)
          return 
$i;

espero que te sirva.
el otro no te intiendo que quieres hacer.
  #3 (permalink)  
Antiguo 11/07/2004, 23:57
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 20 años, 5 meses
Puntos: 1
antes que nada una observación en el script de edwin. Si $valores es un array y $num es una cadena, es incorrecto compararlos con ==, no estoy seguro que intentaste hacer, tal vez es error mio, ojalá puedas explicar tu función.

Mientras tanto aqui les dejo una sencilla, a ver que les parece

Código PHP:
/*de antemano suponemos que la cadena se separa por comas y que se desea el valor a la izquierda del valor que pasamos
como parámetro. Asi mismo funciona para númros enteros, pero facilmente se adapta para otro tipo de dato. Lo hice 
considerando los ejemplos que pusiste. */

function getPreviousValue($search,$wholeString) {
if(!
defined("REQUIRED_OFFSET")) {

    
define("REQUIRED_OFFSET",-1);
    
}

    
$match 0;
    
$values = array();    
    
$values explode(",",$wholeString);

    foreach(
$values as $in => $value) {
    
        
$match = (int)$value == (int)$search $values[$in REQUIRED_OFFSET] : $match;

        
    }

    return 
$match;


la otra es asi:

Código PHP:

function createList($string){

    
$elements = array();
    
$ranks = array();    
    
    if(
strstr($string,",")) {
    
        
$elements explode(",",$string);
    
    }
    
    elseif(
strstr($string,"-")) {
    
        echo 
$string;
        
$ranks explode("-",$string);
        
$ini $ranks[0];
        
$end $ranks[1];
        for(
$i $ini$i <= $end$i++) {
        
            
$elements[] = $i;
            
        }
    
    }
    
    else {
    
        echo 
"Cadena no v&aacute;lida...";
        return 
false;
    
    }

    return 
$elements;


un saludo
  #4 (permalink)  
Antiguo 13/07/2004, 08:20
 
Fecha de Ingreso: octubre-2003
Mensajes: 152
Antigüedad: 20 años, 5 meses
Puntos: 2
Disculpa la correccion es la sgte:

Código PHP:
function Buscar($str,$num

   
$valoresexplode(",",$num); 
   for(
$i=0;$i<count($valores);$i++) 
      if(
$valores[$i]==$num
          return 
$i

__________________
Mamani Calderón, Edwin Fredy
Ingeniería de Sistemas www.gruposistemas.com
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




La zona horaria es GMT -6. Ahora son las 13:32.