array() is not a function, it's a language construct to create a new array. If no arguments (excuse the function terminology) are given, an empty array is created. The difference between PHP arrays and say... Java arrays are that PHP arrays are dynamically resized as new elements are added. But the array()-construct also takes parameters as a comma-separated list of key=>value-pairs.
So, you can create arrays in the following ways:
$empty = array();
$autoIndexed = array (1, 2, 3);
$associative = array('key1' => 1, 'key2' => 2);
var_dump($empty, $autoIndexed, $associative);
// Prints:
Array ()
Array (
[0] => 1
[1] => 2
[2] => 3
)
Array (
[key1] => 1
[key2] => 2
)