Q:

each() and list() function

I don't understand the each() and the list() function that well. Can anyone please give me a little more detail and explain to me how can it be useful?
Edit:
<?php
$foo = array("bob", "fred", "jussi", "jouni", "egon", "marliese");
$bar = each($foo);
print_r($bar);
?>

Array
(
    [1] => bob
    [value] => bob
    [0] => 0
    [key] => 0
)

So does this mean in array[1] there's the value bob, but it's clearly in array[0]?

A:

The each() function returns the current element key and value, and moves the internal pointer forward.
each()
The list function  — Assigns variables as if they were an array
list()
Example usage is for iteration through arrays
  while(list($key,$val) = each($array))
    {
      echo "The Key is:$key \n";
      echo "The Value is:$val \n";

    }

A:

list is not a function per se, as it is used quite differently.
Say you have an array
$arr = array('Hello', 'World');

With list, you can quickly assign those different array members to variables
list($item1, $item2) = $arr; //$item1 equals 'Hello' and $item2 equals 'World'

