Thanks, that may be what I was looking for.
jck
Maxim Maletsky wrote:
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