Argument count

Iniciado por Wdeah, 17 Diciembre 2006, 21:39 PM

0 Miembros y 1 Visitante están viendo este tema.

Wdeah

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

archivo.php parametro 0 "con espacios!"

devolveria:

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

alone-in-the-chat

Cita de: Wdeah en 17 Diciembre 2006, 21:39 PM
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
Because maybe
You're gonna be the one that saves me
And after all
You're my wonderwall
d[n_n]b

Ertai


<?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.
Si la felicidad se comprara, entonces el dinero sería noble.


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;
}