elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Argument count
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Argument count  (Leído 1,252 veces)
Wdeah

Desconectado Desconectado

Mensajes: 76


Ver Perfil
Argument count
« en: 17 Diciembre 2006, 21:39 »

hola, necesito hacer una funcion que me devuelva los "argumentos" pasados por una cadena..
por ejemplo: la cadena es:

Código:
archivo.php parametro 0 "con espacios!"

devolveria:

Código:
Array
(
    [0] => archivo.php
    [1] => parametro
    [2] => 0
    [3] => con espacios!
)

seria una especie de linea de comando lo que tengo que parsear...
los argumentos van separados por espacios en blanco, en el caso de que un argumento contenga algun espacio, este debe ser encerrado entre comillas..

gracias


En línea

alone-in-the-chat


Desconectado Desconectado

Mensajes: 587


Ver Perfil
Re: Argument count
« Respuesta #1 en: 17 Diciembre 2006, 23:21 »

hola, necesito hacer una funcion que me devuelva los "argumentos" pasados por una cadena..
por ejemplo: la cadena es:


no veo la pregunta pero  te dire que puedes usar la funcion explode para separar cada vez que encuentres un espacio en blanco y primero valida separar lo que se encuentre dentro de los " " ;) suerte


En línea

Because maybe
You're gonna be the one that saves me
And after all
You're my wonderwall
d[n_n]b
Ertai
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.025


Ralph Wiggum


Ver Perfil
Re: Argument count
« Respuesta #2 en: 17 Diciembre 2006, 23:32 »

Código:
<?php
// Example 1
$pizza  = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2

// Example 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo $user; // foo
echo $pass; // *
?>

explode es la función que más se asemeja a lo que tu quieres. Pero ojo! Las comillas de "con espacios!" van a estar en el array!

Saludos.
En línea

Si la felicidad se comprara, entonces el dinero sería noble.

Código:
void rotar_by_ref(int& a, int& b) {
   /* Quien dijo que no se podia sin una variable temporal? */
   *a = *a ^ *b;
   *b = *a ^ *b;
   *a = *a ^ *b;
}
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines