What I said was that arrays can be handled two different ways for loops.
1] By assigning the variable prior to the loop [i.e., $new_array= array();]
2] Or, by using inside the loop: $new_array[]= $value
Either one works. I've found, when the loop has lots of fancy stuff involving the $new_array, it is useful to go ahead
a assign it before starting the loop.
Kilbride, James wrote:
<?php
$old_array= array('one','two','three','four');
$new_array= array();
foreach($old_array as $value){
$new_array= $value;
}
echo "$new_array";
?>
The result of the echo is "four". Doing the same above with the [] after
new_array returns the right result, a new array.(outputs Array). So what
exactly where you saying 'Taint so' Al? I'm confused since Jochem's
email about how to properly copy an array seems correct.
James Kilbride
-----Original Message-----
From: Al [mailto:news@xxxxxxxxxxxxx]
Sent: Wednesday, December 14, 2005 10:47 AM
To: php-general@xxxxxxxxxxxxx
Subject: Re: Re: Declaring arrays? Good practice?
Jochem Maas wrote:
Al wrote:
However....
For loops:
$new_array= array();
foreach($old array as $value){
$new_array= $value:
}
Otherwise, all you'll get it the last assignment of
$new_array as a
variable, not an array.
which is exactly what you get if yuou run the code above -
after the
foreach loop $new_array will be set to the value of the
last item of
$old_array.
regardless of whether you init the var you still have to use the
square-bracket notation to add items to the array.
You can also use;
foreach($old array as $value){
$new_array[]= $value:
}
But sometimes, if the expression is a bit fancy in the
loop and you
are using $keys, it is easy to make a mistake.
Al..........
Michael Hulse wrote:
Sorry if this question sounds noobish:
$foo = array(); // Declare first, good practice.
$foo = array('one', 'two', 'three');
Using above as example, is it good to always declare the
array first?
I usually/always declare my arrays first, but sometimes I
get a bit
confused... for example:
function give_foo() {
$the_foo = array(); // Declare first, good practice.
$the_foo = array('one', 'two', 'three');
// Do some stuff here...
return $the_foo;
}
$foo = give_foo(); // Declare $foo also?
So, should I declare $foo as array and then give it the
value of the
function? Example:
$foo = array(); // Declare first, good practice.
$foo = give_foo();
That seems kinda redundant. Thoughts?
Sorry if this is a stupid question... I am self-taught, and I am
trying to shake all my bad coding habits.
Taint so Jochem. Try it.
--
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