You can do: ${"this->$passed_in_array_name"}
not sure right now of the correct syntaxing, I never do that - normally I'd pass the element key. -- Maxim Maletsky [EMAIL PROTECTED] John Kenyon <[EMAIL PROTECTED]> wrote... : > Thank you for replying, but I don't think I've made my problem clear > enough. Let me give it another shot. > > What I want is a function that takes the name of an array as a parameter > so that it can be popped into any class that has arrays in it and work > without modification. The problem I am having is in converting the > passed in array name to the form which the class would recognize as its > own member variable, i.e. $this->passed_in_array_name. In other words, > it comes in as a string, just the name of the array, I append $this-> to > it, but it still isn't getting interpreted the same as if I had written > the call explicitely to $this->memberarray. Does this make any more sense? > > jck > > Marek Kilimajer wrote: > > > If I understand you, you need to have a basic class with the > > one function and subclass it. Then you can reference the array > > as $this->$passed_in_array_name > > > > John Kenyon wrote: > > > >> I'm trying to write a function I can plop in a bunch of different > >> classes without having to modify it. > >> > >> Basically I have classes like: > >> > >> > >> class Example > >> { > >> var $array1; > >> var $array2; > >> var $array3; > >> > >> > >> etc. > >> > >> } > >> > >> and I want to have a function in that class that looks something like > >> this: > >> > >> function do_something_to_array($passed_in_array_name) > >> { > >> //this is what I've done so far, but which isn't working > >> $arr = '$this->' . $passed_in_array_name; > >> > >> // now I want $passed_in_array_name to be evaluated as an array > >> > >> eval ("\$arr = \"$arr\";"); > >> > >> // however even if 'array1' is the passed in value $arr is not the > >> // same as $this->array1 > >> ... > >> } > >> > >> As a side note there is another aspect of this that confuses me -- if > >> I do a print_r($arr) before the eval it returns the string > >> '$this->array1', if I do it after it returns Array (which is what it > >> seems it should do. However, if I then pass $arr to a function that > >> requires an array as an argument, like array_push, for example, I get > >> an error that says that function takes an array. Can anyone explain > >> this to me? The only guess I have is that my eval function is turning it > >> into a string which reads as Array instead of either a String object > >> or the > >> value of the string. > >> > >> More important though is the first problem of generically > >> accesing a member variable based on the passed in name of the > >> variable. In other words I want to be able to choose which array I > >> operate on by passing in the name of that array. > >> > >> > >> Any help on this problem is appreciated. I know there must be a way to > >> do this. Please let me know if I haven't formulated the problem > >> clearly enough. > >> > >> jck > >> > >> > >> > > > > > > > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php