MANUAL DE PHP

(y algo mas)windsurf pozo izquierdo
Google
search for in the  
ELMARRAJO.COM mysql bulma desarrollo web linux fedora html ayuda

windsurf mercedes camper

func_get_arg

(PHP 4, PHP 5)

func_get_arg -- Devolver un elemento desde la lista de argumentos

Descripción

mixed func_get_arg ( int num_arg )

Devuelve el argumento en la posición num_arg en la lista de argumentos de una función definida por el usuario. Los argumentos de función son contados comenzando desde cero. func_get_arg() generará una advertencia si es llamada desde afuera de una definición de función. Esta función no puede ser usada directamente como un parámetro de función. En su lugar, su resultado puede ser asignado a una variable, la cual puede ser pasada entonces a la función.

Si num_arg es mayor que el número de argumentos pasados en el contexto actual, se generará una advertencia y func_get_arg() devolverá FALSE.

Nota: Because this function depends on the current scope to determine parameter details, it cannot be used as a function parameter. If you must pass this value, assign the results to a variable, and pass the variable.

<?php
function foo()
{
    
$num_args = func_num_args();
     echo
"Numero de argumentos: $num_args<br />\n";
     if (
$num_args >= 2) {
     echo
"El segundo argumento es: " . func_get_arg(1) . "<br />\n";
     }
}

foo (1, 2, 3);
?>

func_get_arg() puede ser usada en conjunto con func_num_args() y func_get_args() para permitir que funciones definidas por el usuario acepten listas de argmuntos de longitud variable.



add a note add a note User Contributed Notes
func_get_arg
bishop
10-Dec-2004 09:58
Regarding a "deferment" operator for dvogel at ssc dot wisc dot edu, pick your poison:

<?php
// using ternary operators
function pick($a,$b) { return (isset($a) ? $a : $b); }
$a = (pick($b,$c) ? pick($c,$d) : null);
?>

<?php
// using varargs function
function pick($a) {
  
$argc = func_num_args();
   for (
$i = 0; $i < $argc; $i++) {
      
$arg = func_get_arg($i);
       if (!
is_null($arg)) {
           return
$arg;
       }
   }

   return
null;
}

$a = pick($b, $c, $d);
?>
mw atto lanfear dotto com
07-Dec-2004 02:56
func_get_arg() does not appear to be allowed to be used as a function argument itself within class constructors in PHP 5.0.2 (wonk-ay!!!):

<?php

class ABC
{
   function
__construct()
   {
       foreach (
func_get_args() as $name => $value)
       {
   echo <<<EOT
    <br/>
   $name : $value <br/>
   <br/>

EOT;
       }
   }
}

class
DEF extends ABC
{
   function
__construct()
   {
      
parent::__construct(func_get_arg(0),
                                  
func_get_arg(1),
                                  
func_get_arg(2));
   }
}

$def = new DEF(123123, "asdfasdf", "blahblahblah");

?>

The above script generates:

Fatal error: func_get_arg(): Can't be used as a function parameter in c:\Inetpub\wwwroot\phpwasrc\chapter10\xxx.php on line 23

There are, however, no problems when passing these as parameters to regular functions.
dvogel at ssc dot wisc dot edu
21-Oct-2004 02:54
I've always wants a deferment or cascade operator so that I could use this expression:

  $a = $b ## $c ## $d;

and everything to the right of the assignment operator would evaluate to the left-most value that is not null. It is essentially a collapsed version of this:

  if ($b) {
   $a=$b;
  } else {
   if($c) {
     $a=$c;
   } else {
     if ($d) {
       $a = $d;
     } else {
       $a = null;
     }
   }
  }

In leiu of this, I'm trying to make a function that takes a variable number of arguments and returns the first that is not null. I wan't to use this on some large-ish arrays, so I'd like to pass these by reference. However, call-time reference passing is disabled (and should be, imo) in newer versions of PHP. I'd like suggestions on how to pass both references and values to this function.

The only solution I can think of is setting variables to the reference of the array first. e.g.

$a = array( ... );
$b = 0;
$c = &a;
first_not_null($a, $b);

Does anyone know a better solution?
harald at triptop dot org
14-Sep-2004 03:09
func_get_arg is useful, if you know the exact order of the arguments, or if the order doesn't matter. i use this function (or func_get_args) for example to create own sprintf wrappers.

if you want to pass a variable number of arguments to a function it's in my opinion better, to submit it as a key/value array e.g.:

<?php
functioncall
(array("param1" => "...",...));
?>

and 'extract' the array inside the function. you don't need to do tricks like type-checking for parameter-recognition, in this case.
anders at ingemann dot fakestuff dot de
03-Jun-2004 06:16
I actually think that there is need for such "do absolutely everything" functions. I use them mostly as tools for rapid prototyping.
And there is a method with which you may be able to pass several strings to a function: ereg();
Another use for such functions is to create little code snippets for other people out there. They won't have to edit the function any longer if they do not use a parameter. They just don't name it when calling the function.
This results in allrounder functions that are very robust in their use.Normally you just have a little code snippet (e.g. ip-blocking snippets). Through this type of programming you have whole functions.
26-May-2004 09:29
very clever unless you need to specify at least two parameters of the same type - which is which? Obviously, you may decide on some defaults, but then the whole thing gets ugly. What if you need a string ONLY if a boolean was also supplied? The type-checking becomes the main focus of your function, shit. For the sake of clean code you should specify a clean interface to your functions, and decide on what and where is passed as an argument. Yes, you can always code a do_absolutely_everything() function, but is there any sense?
anders at ingemann dot fakestuff dot de
29-Apr-2004 04:18
A pretty cool thing for user defined functions is only to submit the needed parameters. If you call a function that has three optional parameters you have to define the two first ones (even if they should stay like the defined standard in the function) before your are able to tell the function what the third important parameter is. Instead you might as well just find out by the pattern or the type of the submitted parameter which variable it should be assigned to.
like this:
<?
function whatever()
{
   for(
$i=0;$i<func_num_args();$i++)
   {
       if(
is_bool(func_get_arg($i))) $log_ip=func_get_arg($i);
       if(
is_int(func_get_arg($i))) $limit=func_get_arg($i);
       if(
is_string(func_get_arg($i))) $name=func_get_arg($i);
   }
}
?>
Now you can call the function with any parameter you want.
e.g.:
<? whatever(3600); ?>
in that case $limit would be defined with 3600.

It doesn't matter if you do this:
<? whatever(3600,false); ?>
or this:
<? whatever(3600,"blaaah"); ?>
or this:
<? whatever("blaaah",true,3600); ?>

You may also use ereg(). Through that you're able to use more than one parameter as a string.
hmm probably ereg() is the best solution...
never mind.
just check it out ;-)
mightye (at) mightye (dot) org
12-Mar-2004 09:45
func_get_arg() returns a *copy* of the argument, to my knowledge there is no way to retrieve references to a variable number of arguments.

I have a module system in my game at http://lotgd.net where I'd like to be able to pass a variable number of arguments to functions in a module, and pass them by reference if the module asks for it by reference, but you can't accept optional parameters as references, nor can you retrieve the reference on a variable number of arguments.  Looks like my modules will have to do with out the ability to accept parameters to their functions by reference.
martin at classaxe dot com
07-Jun-2002 10:55
This function whilst elegant doesn't in itself avoid the problem of generating warning messages where variables are not set, unless of course you switched warnings off:
error_reporting(E_ERROR);

The answer for those of who like to see necessary warnings?
Call it like this:
@allSet($w, $x, $y, $z)

(Martin Francis)

Citas célebres

Si pudiera vivir de nuevo, intentaría cometer más fallos. Me relajaría. Subiría a más montañas y nadaría en más ríos. Cogería más margaritas. Tendría más problemas reales y menos imaginarios.

Don Herold
Humorista estadounidense
(1889-1996)
Citas en tu mail
©Contenidos Gratis

Ilusiones Opticas
ilusion_optica_055.jpg
Contenidos Web

Chiste de... Familias
Tensión monetaria

- Perdona Felipe, pero todavía me debes treinta euros...

- Te perdono, amigo, te perdono.
Chistes en tu mail
©ContenidosGratis

Humor Gráfico
humor_grafico_013.jpg
Contenidos Web

Inicio | Acción | Estrategia | Palabras | Puzzles | Solitarios | Foro Trucos
Cake ManiaCake Mania
Jugadores: 6835
Categoría del juego: Acción
Objetivo del juego: Ayuda a Jill a recuperar la pastelería de su abuela llevando su propia pastelería; consigue clientes y gana dinero.
Rainbow WebRainbow Web
Jugadores: 2199
Categoría del juego: Puzzles
Objetivo del juego: Rompe un pegajoso hechizo y salva un reino de fantasía en Rainbow Web. Tendrás toneladas de diversión mientras juegas a este mágico desafío para la mente.
Mahjongg FortunaMahjongg Fortuna
Jugadores: 12462
Categoría del juego: Solitarios
Objetivo del juego: Velocidad y habilidad mental son las armas más importantes en esta versión de un antiguo juego asiático. Despeja el tablero lo antes posible haciendo clic en las fichas iguales y gánate la fama eterna de la puntuación más alta.
Chainz 2Chainz 2
Jugadores: 6955
Categoría del juego: Puzzles
Objetivo del juego: Entra en el mundo de las combinaciones con Chainz 2: Relinked, emocionante secuela del exitazo del año pasado, Chainz. Gira eslabones y crea combinaciones de 3 ó más.
DeliciousDelicious
Jugadores: 4405
Categoría del juego: Acción
Objetivo del juego: ¿Eres un as de la multitarea? ¿Quieres que tus clientes estén contentos? ¡Pues Delicious es tu juego! Sacia el apetito de los clientes y tenlos contentos; ¡no te arriesgues!
BookwormBookworm
Jugadores: 4568
Categoría del juego: Palabras
Objetivo del juego: Junta las letras para formar palabras. ¡Las palabras más largas valen más puntos!
ZumaZuma
Jugadores: 4976
Categoría del juego: Acción
Objetivo del juego: Controla el ídolo de la rana de piedra de los antiguos Zuma en este intrigante enigma de acción. ¡Dispara bolas para formar conjuntos de tres, pero si dejas que lleguen a la calavera dorada morirás!
Jewel of AtlantisJewel of Atlantis
Jugadores: 3798
Categoría del juego: Puzzles
Objetivo del juego: Descubre la ciudad hundida de la Atlántida y busca valiosos tesoros. Viaja más allá de las profundidades del mar y vive trepidantes aventuras en Jewel of Atlantis.
Jewel QuestJewel Quest
Jugadores: 3727
Categoría del juego: Puzzles
Objetivo del juego: Convierte la arena de la antigua selva en oro tan rápido como puedas juntando grupos de 3 elementos. ¡Los grupos más grandes valen más puntos!
Bejeweled 2Bejeweled 2
Jugadores: 3659
Categoría del juego: Puzzles
Objetivo del juego: Con cuatro modos de juego únicos y fascinantes, nuevas piezas de juego explosivas e imponentes fondos planetarios, Bejeweled 2 es mucho más adictivo que nunca.
Contenidos gratis en tu webSiguiente >>

Fotos divertidas
fotos_increibles_0256.jpg
Contenidos Web
microrobots avion deportes riesgo recetas cocina canaria juegos online gratis moto motociclismo horoscopos naranjas valencianas surf canarias montañismo ciudades turismo postales gratis library Horoscopos Diarios Windsurf Canarias
fregadero microondas placa electrica bañopreparar camper pantalla plananevera compresor electricacamper fiat ducato camper baño quimicomampara enrollable bañocamper aire climatizadofurgoneta surf windsurffurgoneta surf windsurftelevisor furgonetas camperfurgonetas camper cama

Sudoku del día
Nivel de dificultad: Fácil



Cómo jugar:
El juego consiste en colocar los números del 1 al nueve de tal forma que no se repita el mismo número en la columna, fila y caja (bloques 3x3 enmarcados).

©Contenidos Gratis | Sudoku en tu mail
Sucedió el...

30 de agosto de 1617

Fallece Santa Rosa de Lima, por la que se celebra el "Día de la Patrona de América".
Efemérides en tu mail
©Contenidos Gratis
windsurf canarias youtube porno canarias baleares valencia madrid fallera mayor campus party alcacer feria valencia fernando alonso loterias dinero inversiones violencia de genero makro empresas cartera soledad tolerancia metro valencia gobierno de españa violencia de genero UIMP navidad