Ask a Question related to PHP Development, Design and Development.
-
PHP's References
I'm trying to create a stack of class objects; but on cycling through them
with 'foreach' I am unable to update their properties. What is the correct
method for this?
Guest
-
How do I keep individual .php's from being posted
My DW operator left the company and I need to remove her from the website. I do not want to delete her PHP though. I can see other ex-employees in... -
Is there a Coldfusion equivalent to PHP's array_unique?
I'm trying to filter out unique array elements in Coldfusion MX 7. Is there any coldfusion function equivalent to PHP's array_unique function? ... -
Something like PHP's PEAR::DB_NestedSet?
This PHP module looks cool: http://pear.php.net/package/DB_NestedSet is there something like it in CPAN? -- dave -
PHP's global namespace
Why are PHP's system functions all in a global namespace? Won't this lead to chaos as new functions are added, which have names which clash with... -
PROBLEM : Installing GD for PHP's JpGraph
Hi there, I've installed PHP on a variety of machines, but I seem to be having a lot of trouble on Windows XP. I have 4.3.2 installed, and I... -
matty #2
Re: PHP's References
[email]barry@blues.no[/email] wrote:
You get copies with foreach; use the key value to access the> I'm trying to create a stack of class objects; but on cycling through them
> with 'foreach' I am unable to update their properties. What is the correct
> method for this?
original array:
foreach ($foo as $bar->$baz)
{
$foo[$bar] = new MyClass($baz->Name, $baz->WidgetCount);
}
HTH
You really could have thought of this one yourself and tried the code, you
know!
matty Guest
-
Thomas Weinert #3
Re: PHP's References
[email]barry@blues.no[/email] schrieb:
foreach() uses a copy of the array. Use somthing like:> I'm trying to create a stack of class objects; but on cycling through them
> with 'foreach' I am unable to update their properties. What is the correct
> method for this?
<?php
foreach($arr as $key=>$val) {
$arr[$key] = editfunc($val);
}
?>
or for very large arrays
<?php
reset($arr);
while(list($key,$val) = each($arr)) {
$arr[$key] = editfunc($val);
}
?>
Regards
Thomas
Thomas Weinert Guest
-
Re: PHP's References
Thanks to both Thomas and matty; I actually was unaware of the second form
of 'foreach'. So ended up doing something like the following (which even
keeps me from having to use references.) I'd like to ask one more thing; is
the call to array_keys, neglible in effeciency compared to using the second
form of 'foreach'?
class Foo
{
var $some_value;
function Bar()
{
$this->some_value = "def";
}
function Foo()
{
$this->some_value = "abc";
}
}
$class_stack = array();
array_push( $class_stack, new Foo() );
array_push( $class_stack, new Foo() );
// $some_value is set to "abc"
foreach( $class_stack as $cls=>$key )
{
$class_stack[ $cls ]->Bar();
}
// $some_value now equals "def"
Guest



Reply With Quote

