Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > значение из масива


Автор: Zorak 4.7.2008, 16:48
Возникла следующая проблема: есть вот код
Код

<?php
global $file_open,
       $file_close,
       $status_open,
       $status_close;
       
       $name_module_id = 0;
       $submodule_id = 2;
       $key_id = 4;
       $options = 6;
       $add_id = 8;
       $commit_id = 10;
       $require_id = 12;
       $depends_id = 14;
       $end_id = 16;

$rozdil = "|";
$begin = "#";
$end = "******";

$prosto_zminna = array();
global $vs9_baza;

function search ()
{
    $mas1 = array();
    $mas1 = explode(',',$vs9_baza[4]);
    return $mas1;
}



$file_open = fopen('Module.txt','a');
if ($file_open) 
{
    $status_open = "Файл відкрився. Файл відкритий лише для читання, зміна вмісту файла не можлива";
}

$vs9_baza = file('Module.txt');

search();

$file_close = fclose($file_open);
if ($file_open) 
{
    $status_close = "Файл закрився";
}
?>

проблема в том, что у функции search материться по поводу $vs9_baza:
Variable $vs9_baza was used before it was defined (line 27)
Variable $vs9_baza appears only once (line 27).

Мне нужно огласить масив vs9_baza вне всяких функций, при том, чтоб можно было в тих же функциях кго использовать... как ето можно сделать ??? у кого какие идеи.... я подозреваю, что ето через видимость переменной(

Автор: skyboy 4.7.2008, 16:53
посмотри, как надо использовать global. ты global должен использовать дважды: в области видимости, где объявляешь и там, где собираешься использовать.

Добавлено через 1 минуту и 3 секунды
Цитата(skyboy @  4.7.2008,  15:53 Найти цитируемый пост)
посмотри, как надо использовать global.

посмотреть можно в http://ua.php.net/global#language.variables.scope.global

Автор: Zorak 5.7.2008, 12:20
получилось) спасибо большое

Автор: Feldmarschall 5.7.2008, 12:36
думаю, что в данном случае только один раз, все-таки.
и global тут явно не на месте.
да и вообще смысл всех этих телодвижений непонятен.
зачем нужна функция serch - непонятно.
fopen и fclose явно лишние.

Добавлено через 2 минуты и 10 секунд
весь код сводится к двум строчкам:
Код

$vs9_baza = file('Module.txt');
$mas1 = explode(',',$vs9_baza[4]);

и меня восхищает умение из двух сделать 20

Автор: Zorak 5.7.2008, 21:31
Цитата(Feldmarschall @ 5.7.2008,  12:36)
думаю, что в данном случае только один раз, все-таки.
и global тут явно не на месте.
да и вообще смысл всех этих телодвижений непонятен.
зачем нужна функция serch - непонятно.
fopen и fclose явно лишние.

Добавлено @ 12:38
весь код сводится к двум строчкам:
Код

$vs9_baza = file('Module.txt');
$mas1 = explode(',',$vs9_baza[4]);

и меня восхищает умение из двух сделать 20

Ну фельдмаршал... сначала я даже удивился, что ти не ответил своими теоретическими познаниями сразу в первый день) даже скучать начал, честно=)... 
во первых: search мне нужен в собственных целях, 
во вторих:fopen и fclose тоже я использую далее в скрипте.... 
во третьих:по поводу 20 может и погарячился) просто убегал уже с роботи и не было времени смотреть и выбирать, поетому сделал пятьма комбинациями : [ctrl+a][ctrl+c][ctrl+tab][ctrl+v][enter]

Автор: Feldmarschall 5.7.2008, 22:16
skyboy, не хотелось бы писать гадости уважаемому мной участнику форума, но больше некому  =)
В результате твоего ответа у гражданина во-первых, осталась простыня глобал в начале скрипта, а во-вторых, глобал используется в самом кошмарном варианте - для тягания здоровенного файла целиком. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)