Форум программистов, компьютерный форум, киберфорум
PHP: ООП
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
6 / 6 / 5
Регистрация: 29.01.2015
Сообщений: 456
1

Почему переменная $a не доступна во второй функции?

28.09.2015, 13:52. Показов 689. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет есть такой класс. Не подскажите, почему переменная $a не доступна во второй функции?
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
class Test {
    var $a;
    function __construct() {
        $a = $this->a;
    }
 
    function a() {
       $a = 1; 
    }
 
    function b() {
        var_dump($a);  
    }
 
}
$r = new Test;
$r->a();
$r->b();
?>
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.09.2015, 13:52
Ответы с готовыми решениями:

Не могу понять, почему не доступна переменная
Не могу понять, почему переменная не доступна. Пишет ошибку: error C2248:...

Как сделать так чтобы переменная в описании одной функции была доступна в описании другой?
Как сделать так чтобы переменная в описании одной функции была доступна в описании другой?...

Не доступна переменная
Добрый день! Со вчерашнего дня не могу понять в чем дело. В подключаемом файле не везде видна...

Вывести текст если переменная не доступна
Здравствуйте вывожу из файла php сессией в шапку сайта текст из переменной: &lt;?php...

2
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
28.09.2015, 15:51 2
Цитата Сообщение от qwertyyyyyw Посмотреть сообщение
var $a;
Забудь про var, это архаизм со времен php4. В php5, php7 следует использовать private, protected или public.
Цитата Сообщение от qwertyyyyyw Посмотреть сообщение
function __construct() {
* * * * $a = $this->a;
* * }
во первых $a - локальная переменная, $this->a - поле экземпляра класса Test. Значения их не известны, поэтому в этой строчке логическая ошибка, в этом примере вообще конструктор не нужен
Цитата Сообщение от qwertyyyyyw Посмотреть сообщение
function a() {
* * * *$a = 1;
* * }
тоже самое, $a - это локальная переменная.
PHP
1
$this->a = 1;
Цитата Сообщение от qwertyyyyyw Посмотреть сообщение
function b() {
* * * * var_dump($a); *
* * }
тоже самое.
1
6 / 6 / 5
Регистрация: 29.01.2015
Сообщений: 456
28.09.2015, 16:15  [ТС] 3
Jewbacabra, Спасибо большое!
0
28.09.2015, 16:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.09.2015, 16:15
Помогаю со студенческими работами здесь

Почему глобальная переменная не изменяется из функции?
Здравствуйте! Делаю такую программу. Сначала создаю анимацию - увеличение размеров контейнера....

Почему Public переменная не видна в другой функции?
Итак, по порядку. При выполнении процедуры MSG модуля &quot;Test&quot; обработчик, дойдя до первой...

Как сделать так чтобы переменная была доступна из другого класса, метода?
как сделать так чтобы переменная была доступна из другого класса, метода?

Второй день не доступна страница скачивания symfony
Здравствуйте! Вот уже второй день не доступна страница скачивания symfony, может у кого-то есть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru