A recent trick I discovered while working on a Drupal module is the ability to pass the array element into a foreach loop by reference. Like so:
$array = array(1, 2, 3, 4, 5);
foreach ($array as &$element) {
if ($element == 3)
$element = 6;
}
print_r($array);
Your output would be:
Array
(
[0] => 1
[1] => 2
[2] => 6
[3] => 4
[4] => 5
)
Not only does this save on memory, it also allows you to change the actual items in the array. Quite useful.
Another example:
$array = array(
'cow' => 'moo',
'pig' => 'oink',
'cat' => 'meow',
);
foreach ($array as $key => &$element) {
if ($key == 'cat')
$element = 'bark!';
}
print_r($array);
Output:
Array
(
[cow] => moo
[pig] => oink
[cat] => bark!
)