Re: Passing arrays by reference
| From: | Frank M. Kromann | Date: | Fri, 29 Sep 2000 18:22:53 +0000 |
| Subject: | Re: Passing arrays by reference | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-18093@lists.php.net to get a copy of this message | ||
Hi,
When you define the function like thisÆ
function options_array ($select_name,$selected,&$array) {
}
$array will be pased by reference.
You will access the variable as any other variable but remember that any changes made to the
variable will remain after the function ends. That includes the internal pointer of an array, used
ad affected by each().
- Frank
>Hi,
>
>This one shall be really basic, but I couldn't yet figure out the correct way
>to do it: I got the following code excerpt from
>http://px.sklar.com/
>(http://px.sklar.com/code-pretty.html?code_id=426) and I want to simply put
>the arrays currently defined inside the function outside of it, and pass it
>to the function by reference. How should I declare the function and call it,
>and how should I reference the array elements inside the function (for
>example when using function each()).
>
>TIA,
>Paulo
>
><?
>
>///////////////////////////////////
>// options_array
>//
>// Chad Lieberman
>// mallmall@yactota.com
>//
>///////////////////////////////////
>
>// A simple function for converting multiple arrays into html SELECT
>menus.
>// Convienient for building menus with more than one list of options.
>//
>//
>// Pass options_array:
>//
>// $select_name the name of the options menu
>// $selected a 'selected' or default key (in this example the
>// 'selected' option is the option previously submitted -
> // which may be a bit confusing)
>// $array an array from which to get the values of the options
>// menu. Out of convinience I defined the array within
>the
>// function but it should be easy to put it wherever you
>// like.
>//
>// If you can make this simpler, let me know . . .
>
>
>
>function options_array ($select_name,$selected,$array)
>{
> $colors = array ( "#FFFFFF" => "White",
> "#000000" => "Black",
> "#99CC66" => "Green",
> "#FF9999" => "Red",
> "#996633" => "Brown",
> "#FFFFCC" => "Yellow",
> "#CCFFFF" => "Blue");
>
> $friends = array ( "John Entwhistle" =>
> "Johnny",
> "Mary Tyler Moore" => "Mary",
>
> "Charlie Parker" => "Bird",
>
> "Merryl Stubing" =>
> "Captain");
>
> print "<SELECT NAME=\"$select_name\">\n";
>
> while (list ($key, $val) = each ($$array))
> {
> print "<option value= " . "\"$key\" " .
>($key==$selected? " selected ": ""). ">".$val. "\n";
>
> }
>
> print "</SELECT>\n";
>}
>
>?>
>
>
><HTML>
><HEAD>
></HEAD>
><BODY>
><H2> Example: </H2><BR>
><H1> Choose a color and a friend. </H1>
>
><FORM TYPE = "POST" ACTION = "options_array.php">
>
><?
> options_array ( "friends", $friends, "friends");
> options_array ( "text_color", $text_color, "colors");
>?>
>
><INPUT TYPE = "SUBMIT" VALUE = "SUBMIT">
></FORM>
>
><?
> print "Friend: $friends <BR> Color: $text_color\n";
>?>
>
></BODY>
></HTML>
>
>
>
>--
>PHP General Mailing List (http://www.php.net/)
>To unsubscribe, e-mail: php-general-unsubscribe@lists.php.net
>For additional commands, e-mail: php-general-help@lists.php.net
>To contact the list administrators, e-mail: php-list-admin@lists.php.net
>
>
>