upd: В общем, поиск конкретно по теме ссылок дал следующее.
Если функция изменяет входные переменные, то их надо передавать по ссылке, то есть в виде function name(&$var1, &$var2) { ... }.
Если же функция не меняет входные параметры, то можно просто передать данные: function name($var1, $var2) { ... }.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Здравствуйте.
Я тут малясь туплю и уже даже не знаю, что сделать можно.
Есть кусочек кода.
$f = Array();
function sdf($d, $arr)
{
if ($handle = opendir($d))
{
while (false !== ($file = readdir($handle)))
{
if ($file != "." && $file != "..")
{
array_push($arr, $file);
}
}
closedir($handle);
}
}
sdf('.', $f);
echo count($f);Теоретически, в выводе я должен получить число элементов в массиве.
Но практически, я наблюдаю ситуацию, что array_push добавляет элементы только когда он находится за пределами функции. Если же внутри, то он как будто вообще не выполняется. Не зависимо от того, как я обращаюсь к массиву, как к глобальной переменной ($f) или как к локальной ($arr).
Прошу помочь, кто знает в чём проблема.
Текст брал отсюда: www.php.su/readdir()