亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法訪問函數內部的全局變量 INSIDE public function PHP

無法訪問函數內部的全局變量 INSIDE public function PHP

PHP
慕的地8271018 2023-10-15 14:43:43
再會。我正在嘗試執行一個函數。我聲明一個全局變量來獲取函數外部的數據(變量),并將該函數放入類的公共函數內。class Test {    public function execute(){        $data = "Apple";                function sayHello() {            global $data;                        echo "DATA => ". $data;                }                sayHello();    }}$test = new Test;$test->execute();預期結果:DATA => Apple真實結果:DATA =>全局變量沒有獲取函數外部的變量。為什么會發生這樣的事?感謝您的幫助。
查看完整描述

1 回答

?
搖曳的薔薇

TA貢獻1793條經驗 獲得超6個贊

$data不是全局變量。它在另一個函數內,在一個類內。全局變量位于任何函數或類之外。


但無論如何,您的用例是不尋常的 - 很少需要像您所做的那樣嵌套函數。這些函數的更傳統、更邏輯、更可用的實現可能如下所示:


class Test {

    public function execute(){

        $data = "Apple";

        $this->sayHello($data);

    }


    private function sayHello($data) {

        echo "DATA => ". $data;

    }

}


$test = new Test;

$test->execute();

工作演示:http://sandbox.onlinephpfunctions.com/code/e91b98bb15fcfa71b1c6cbbc305b5a93df678e8b

(這只是一種選擇,但它是一個合理的選擇,盡管由于這顯然是一個簡化的抽象示例,因此很難確定您的真實場景實際上需要什么或最適合什么。)


查看完整回答
反對 回復 2023-10-15
  • 1 回答
  • 0 關注
  • 119 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號