[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Почему мой массив пустой?
Valeriya12
Привет! Я стараюсь работать с txt-файлом через функцию. Вот функция, которая перестраивает файл txt как массив :

<?php	
function
compile ($filename, $array)
{
$file = fopen("$filename.txt", "r") or exit("cannot open file");
$array=array();
while(!feof($file))
{
$newline=explode("\r\n", fgets($file));
$array[]=($newline[0]);
}
fclose($file);
}

?>


Если здесь я пишу var_dump($array) -- я правильно получаю мой массив (и он конечно не пустой). Но проблема в том, что я вызываю эту функцию из другой страницы. Вот как я это делаю:

<?php
require_once 'function.php';
$path="games";
$gametext=array();
compile ($path,$gametext);
var_dump ($gametext);
?>


Почему-то, массив $gametext пустой. Но почему?
sergeiss
Добавь один зачок перед $array, чтобы сделать там ссылку на массив.

function compile ($filename, &$array)


Или не передавай как параметр, а просто возвращай массив из функции. Смысла нет передавать так, как ты делаешь.
Вот так:
$gametext=compile ($path);
А $array пусть будет просто внутренней переменной внутри функции

PS. Да и содержимое функции можно более "красиво" :) сделать.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
linker
Может проще использовать нативную функцию file() с флагом FILE_IGNORE_NEW_LINES

_____________
Gear Framework
Gear Framework на Github
twin
linker
Проще то оно проще, но не всегда работает. Лучше всё таки так:

$gametext = array_map('rtrim', file("$filename.txt"));


_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
linker
twin
rtrim() убьёт не только переводы строк

_____________
Gear Framework
Gear Framework на Github
Valeriya12
Спасибо большое всем! Теперь работает!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.