php函數外聲明變數,在php中聲明變數應使用什麼符號

本文目錄一覽:

PHP全局變數概念是啥??函數體外聲明的變數??還是說函數體內用global聲明的變數??

使用「global」聲明可以設置全局變數,當然,像$_GET和$_REQUEST也屬於全局變數(本質上屬於「超全局的」變數)。

全局變數就是定義後,這個變數將能在文件內所有函數範圍(?php content ?)中使用.

php變數定義方法

PHP語法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛,主要適用於Web開發領域。以下是為大家分享的php變數定義方法,供大家參考借鑒,歡迎瀏覽!

   1.定義常量define(“CONSTANT”, “Hello world.”);

常量只能包含標量數據(boolean,integer,float 和 string)。

調用常量時,只需要簡單的用名稱取得常量的值,而不能加「$」符號,如:echo CONSTANT;

注: 常量和(全局)變數在不同的名字空間中。這意味著例如 TRUE 和 $TRUE 是不同的。

2.普通變數$a = “hello”;

3.可變變數(使用兩個美元符號($))

$$a = “world”;

兩個變數都被定義了:

$a 的內容是「hello」並且 $hello 的內容是「world」。

因此,可以表述為:

echo “$a ${$a}”;或者 echo “$a $hello”;它們都會輸出:hello world

要將可變變數用於數組,必須解決一個模稜兩可的問題。這就是當寫下 $$a[1] 時,解析器需要知道是想要 $a[1] 作為一個變數呢,還是想要 $$a 作為一個變數並取出該變數中索引為 [1] 的值。解決此問題的語法是,對第一種情況用 ${$a[1]},對第二種情況用 ${$a}[1]。

4.靜態變數

在函數內部static $a = 0;

注意:聲明中用表達式的結果對其賦值會導致解析錯誤如static $a =3+3;(error)

靜態變數僅在局部函數域中存在(函數內部),函數執行完之後,變數值不會丟失,可用於遞歸調用

5.全局變數

在函數體內定義的global變數,函數體外可以使用,在函數體外定義的global變數不能在函數體內使用,在全局範圍內訪問變數可以用特殊的 PHP 自定義 $GLOBALS 數組:

如:$GLOBALS[“b”] = $GLOBALS[“a”] + $GLOBALS[“b”];

在一個函數域內用 global 語句導入的一個真正的全局變數實際上是建立了一個到全局變數的引用

global $obj;

註:對於變數的 static 和 global 定義是以 應用 的方式實現的

   6.給變數賦值:傳地址賦值(簡單引用):

$bar = $foo; //加符號到將要賦值的變數前

改動新的變數將影響到原始變數,這種賦值操作更加快速

注意:只有命名變數才可以傳地址賦值

注意:如果

$bar = $a;

$bar = $foo;

改變$bar的值只能改變變數foo的值,而不改變a的值(引用改變了)

   7.PHP 超全局變數$GLOBALS : 包含一個引用指向每個當前腳本的全局範圍內有效的變數。該數組的鍵標為全局變數的 名稱。從 PHP 3 開始存在 $GLOBALS 數組。

$_SERVER : 變數由 Web 伺服器設定或者直接與當前腳本的執行環境相關聯。類似於舊數組 $HTTP_SERVER_VARS 數組(依然有效,但反對使用)。

$_GET : 經由 HTTP GET 方法提交至腳本的變數。

$_POST : 經由 HTTP POST 方法提交至腳本的變數。

$_COOKIE : 經由 HTTP Cookies 方法提交至腳本的變數。

$_FILES : 經由 HTTP POST 文件上傳而提交至腳本的變數。

文件上傳表單中要有 enctype=”multipart/form-data”

$_ENV : 執行環境提交至腳本的變數。

$_REQUEST :經由 GET,POST 和 COOKIE 機制提交至腳本的.變數,因此該數組並不值得信任。所有包含在該數組中的變數的存在與否以及變數的順序均按照 php.ini 中的 variables_order 配置指示來定義。該數組沒有直接模擬 PHP 4.1.0 的早期版本。參見 import_request_variables()。

注意: 自 PHP 4.3.0 起,$_FILES 中的文件信息不再存在於 $_REQUEST 中。

$_SESSION :當前註冊給腳本會話的變數。

如何禁用phpinfo():

php.ini中

disable_functions = phpinfo()

重啟web伺服器。

php中的常量

常量只能用define(常量名,常量值);

常量只能包含標量數據(boolean,integer,float 和 string)。

可以簡單的通過指定其名字來取得常量的值,不要在常量前面加上 $ 符號。如果常量名是動態的,也可以用函數

constant() 來讀取常量的值。用 get_defined_constants() 可以獲得所有已定義的常量列表。

注: 常量和(全局)變數在不同的名字空間中。這意味著例如 TRUE 和 $TRUE 是不同的。

如果使用了一個未定義的常量,PHP 假定想要的是該常量本身的名字,如同用字元串調用它一樣(CONSTANT 對應 “CONSTANT”)。此時將發出一個 E_NOTICE 級的錯誤。參見手冊中為什麼 $w3sky[bar] 是錯誤的(除非事先用 define() 將 bar 定義為一個常量)。如果只想檢查是否定義了某常量,用 defined() 函數。

常量和變數不同:

* 常量前面沒有美元符號($);

* 常量只能用 define() 函數定義,而不能通過賦值語句;

* 常量可以不用理會變數範圍的規則而在任何地方定義和訪問;

* 常量一旦定義就不能被重新定義或者取消定義;

* 常量的值只能是標量。

定義常量

?PHP

define(“CONSTANT”, “Hello world.”);

echo CONSTANT; // outputs “Hello world.”

echo Constant; // outputs “Constant” and issues a notice.

?

php函數的變數和作用域

?php

$global_a=”global”; //這是一個全局變數。

function private_test(){

$private_a=”private”; //這是一個局部變數,其有效範圍就是這個函數內部。

echo $private_a;

}

echo $private_a; //函數外部就不能再調用其局部變數了。

php的class中怎樣引用外部的變數?

把$a放在下面,

function name($string){

global $a;

}

$a=”xxfaxy”;

name(“$a”);

這樣就可以了。

延展閱讀:

php的class中的外部變數是在函數外部定義的全局變數,它的作用域是從變數的定義處開始,到本程序文件的結尾。在此作用域內,全局變數可為各個函數所引用。編譯時將外部變數分配在靜態存儲區。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/184434.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-25 17:23
下一篇 2024-11-25 17:24

相關推薦

  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • int類型變數的細節與注意事項

    本文將從 int 類型變數的定義、聲明、初始化、範圍、運算和類型轉換等方面,對 int 類型變數進行詳細闡述和講解,幫助讀者更好地掌握和應用 int 變數。 一、定義與聲明 int…

    編程 2025-04-29
  • Python中capitalize函數的使用

    在Python的字元串操作中,capitalize函數常常被用到,這個函數可以使字元串中的第一個單詞首字母大寫,其餘字母小寫。在本文中,我們將從以下幾個方面對capitalize函…

    編程 2025-04-29
  • Python中set函數的作用

    Python中set函數是一個有用的數據類型,可以被用於許多編程場景中。在這篇文章中,我們將學習Python中set函數的多個方面,從而深入了解這個函數在Python中的用途。 一…

    編程 2025-04-29
  • 三角函數用英語怎麼說

    三角函數,即三角比函數,是指在一個銳角三角形中某一角的對邊、鄰邊之比。在數學中,三角函數包括正弦、餘弦、正切等,它們在數學、物理、工程和計算機等領域都得到了廣泛的應用。 一、正弦函…

    編程 2025-04-29
  • 單片機列印函數

    單片機列印是指通過串口或並口將一些數據列印到終端設備上。在單片機應用中,列印非常重要。正確的列印數據可以讓我們知道單片機運行的狀態,方便我們進行調試;錯誤的列印數據可以幫助我們快速…

    編程 2025-04-29
  • Python3定義函數參數類型

    Python是一門動態類型語言,不需要在定義變數時顯示的指定變數類型,但是Python3中提供了函數參數類型的聲明功能,在函數定義時明確定義參數類型。在函數的形參後面加上冒號(:)…

    編程 2025-04-29
  • Python實現計算階乘的函數

    本文將介紹如何使用Python定義函數fact(n),計算n的階乘。 一、什麼是階乘 階乘指從1乘到指定數之間所有整數的乘積。如:5! = 5 * 4 * 3 * 2 * 1 = …

    編程 2025-04-29
  • Python定義函數判斷奇偶數

    本文將從多個方面詳細闡述Python定義函數判斷奇偶數的方法,並提供完整的代碼示例。 一、初步了解Python函數 在介紹Python如何定義函數判斷奇偶數之前,我們先來了解一下P…

    編程 2025-04-29
  • Python input參數變數用法介紹

    本文將從多個方面對Python input括弧里參數變數進行闡述與詳解,並提供相應的代碼示例。 一、基本介紹 Python input()函數用於獲取用戶輸入。當程序運行到inpu…

    編程 2025-04-29

發表回復

登錄後才能評論