Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: global для array не работает???
 
 автор: LouD   (27.08.2007 в 22:05)   письмо автору
 
 

Какое-то странное поведение описателя global у меня..

http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=17918 - тут тема к решению так и не пришла..

Вот фрагмент кода

$phrases=array();
$phrases=preparePhrases(array(1,2,3,4,5,6,7,9));
echo $phrases[9];
.....
// в подключаемом по require_once файле 
function preparePhrases($ids)
{
    $answer=array();
                    .......................
    return $answer;
}

// снова в основном файле
function FormMessages($msg, $backurl, $status=1)
{
    global $phrases;
echo "FormMessages= ".$phrases[9];


Курсивом выделена более поздняя (ничем не помогшая) вставка.
Смысл - внешняя функция preparePhrases возвращает массив.
После этой функции контрольная точка выводит значение правильно
А вот во второй функции (FormMessages) эта переменная пуста.. Несмотря на объявление global..

В чем ошибка, где не понимаю??

   
 
 автор: Trianon   (27.08.2007 в 22:07)   письмо автору
 
   для: LouD   (27.08.2007 в 22:05)
 

array(1,2,3,4,5,6,7,9) определяет элементы с 0-го по 8-й. 9-й элемент окажется неопределен.

global воздействует на имя.
Что под ним лежит - число , строка, массив, объект, ресурс - несущественно.

   
 
 автор: LouD   (27.08.2007 в 22:30)   письмо автору
 
   для: Trianon   (27.08.2007 в 22:07)
 

Многоуважаемый Trianon, твой ответ натолкнул меня на мысль просто проверить более тщательно переменные..

В функцию попадает Array - зря я грешил на global :)

А более тщательная проверка этого массива на распечатку пар ключ=>значение показало мне дырку: я массив в еще одной подключаемой функции переопределил ниже :(((

Так что спасибо за правильно данное направление мысли..
Ну а за глупый вопрос - глобально сорри :)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования