Improve company productivity with a Business Account.Sign Up

x
?
Solved

Variable Variables

Posted on 2004-04-24
5
Medium Priority
?
230 Views
Last Modified: 2006-11-17
Basically, I have 5 arrays, and I want to pick which array to search based on a random number...so here is the layout:

$array1 = array("a","b","c");
$array2 = array("1","2","3");
$array3 = array("a","b","c");
$array4 = array("e","f","g");
$array5 = array("7","6","5");

$$randnumber = rand(1,5);

if(array_search($string,$array{$randnumber})) // if $randnumber is 2, use $array2 and etc...
{
...
}

However, it will not pick up what array to use, can somebody fix my code so I can use variable variables?
0
Comment
Question by:drakkarnoir
  • 3
  • 2
5 Comments
 
LVL 1

Expert Comment

by:robinet02
ID: 10910774
The easiest is to use an array of arrays instead of variable variables :

$array[1] = array("a","b","c");
$array[2] = array("1","2","3");
$array[3] = array("a","b","c");
$array[4] = array("e","f","g");
$array[5] = array("7","6","5");

$randnumber = rand(1,5); // ATTENTION : you had an "$" too much ...

if(array_search($string,$array[$randnumber])) // if $randnumber is 2, use $array2 and etc...
{
...
}
0
 

Author Comment

by:drakkarnoir
ID: 10910779
Yes, but I'm very interested in variable variables, so if somebody could do it that way :)
0
 
LVL 1

Expert Comment

by:robinet02
ID: 10910788
or, if you prefer to use your variable variables :

$array1 = array("a","b","c");
$array2 = array("1","2","3");
$array3 = array("a","b","c");
$array4 = array("e","f","g");
$array5 = array("7","6","5");

$randnumber = "array".rand(1,5);

if(array_search($string,$$randnumber)) // if $randnumber is 2, use $array2 and etc...
{
...
}
0
 
LVL 1

Accepted Solution

by:
robinet02 earned 2000 total points
ID: 10910793
in this way, the variable name is "array1", "array2", ... so you have to use $$randnumber in your array_search which gives ${'array1'} ... = $array1.

other solution, use ${'array'.$randnumber} in your array_search if you do not want to include the 'array' in your $randnumber variable :

$array1 = array("a","b","c");
$array2 = array("1","2","3");
$array3 = array("a","b","c");
$array4 = array("e","f","g");
$array5 = array("7","6","5");

$randnumber = rand(1,5);

if(array_search($string,${'array'.$randnumber})) // if $randnumber is 2, use $array2 and etc...
{
...
}
0
 

Author Comment

by:drakkarnoir
ID: 10910804
Thanks for bearing with me there, and thanks for your help :)
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

These days socially coordinated efforts have turned into a critical requirement for enterprises.
Password hashing is better than message digests or encryption, and you should be using it instead of message digests or encryption.  Find out why and how in this article, which supplements the original article on PHP Client Registration, Login, Logo…
The viewer will learn how to count occurrences of each item in an array.
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

580 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question