検索
ホームページバックエンド開発PHPチュートリアルPHPの一部の使い方を詳しく解説 グローバル変数定義_PHPチュートリアル

PHPの一部の使い方を詳しく解説 グローバル変数定義_PHPチュートリアル

Jul 13, 2016 pm 05:00 PM
globalphp効果変数意味はい使用法解析する詳しい説明

PHP のグローバル変数の分析は次のとおりです: Global の役割はグローバル変数を定義することですが、このグローバル変数は Web サイト全体ではなく、現在のページ (include または require 内のすべてのファイルを含む) に適用されます。


概要: 関数本体内で定義された PHP グローバル変数は関数本体外で使用できますが、関数本体外で定義されたグローバル変数は関数本体内では使用できません
コードは次のとおりです コードをコピー

$a = 1; $b = 2; functionSum()
{
global $a, $b; //
内でグローバル変数として宣言されます。 $b = $a + $b; }
合計(); $b をエコーし​​ます。 ?>




結果: 3

グローバル変数globalがないとメソッド内で$aと$bの値を取得できないため、メソッド内で外部変数を使用したい場合は最初にこの変数をグローバル変数として宣言する必要があります、使えるように

$glpbal $a; $a=123; 関数 f() { echo $a; }
次の例を見てください

コードは次のとおりです

コードをコピー

関数 f() グローバル $a $a=123; } ふ(); echo $a; //正しい、使用できます1. ローカル機能からの離脱 //A.php ファイル
{




ユーザー定義関数では、ローカル関数スコープが導入されます。関数内で使用される変数は、デフォルトでローカル関数スコープに制限されます (include および require によってインポートされたファイル内の変数を含む)!
説明: A.php ファイル内の Test_Global は、定義されたサードパーティ関数です。この関数は、B.php ファイル内の $a のグローバル グローバル変数をインポートするために include を使用するため、$a は Test_Global ローカル関数のスコープに制限されます。 B .php ファイル内の $a のスコープは、A.php 全体に影響を与えるのではなく、Test_Global 内にあります...

解決策:



コードは次のとおりです
コードをコピー

関数 Test_Global() { include 'B.php' // ローカルの Test_Global 関数からインクルードを移動します $a = 0 ; Test_Global();コードをコピー
テスト(); }
エコー $a;

?>
//B.php ファイル
関数 Test()
{
グローバル $a;
$a =1;
}
?>




2. 優れたアクセサー



コードは次のとおりです

//A.php ファイル 「B.php」を含めます。 $a =0; Set_Global($a); ?> //B.php ファイル 関数 Set_Global(&$var)

{
$var=1;
}
?>



$GLOBALS[] を見てみましょう

エコー $a;
コードは次のとおりです
コードは次のとおりです コードをコピー


$var1 = 1; $var2 = 2; 関数 test1(){
$GLOBALS['var2'] = &$GLOBALS['var1']; }
テスト1(); エコー $var2 //1

$var3 = 1; $var4 = 2; 関数 test2(){
グローバル $var3,$var4
$var4 = &$var3; }

テスト2(); $var4 をエコーし​​ます。




//2 $var2 の印刷結果が 1 であるのに、$var4 の印刷結果は 2 であるのはなぜですか?実際には、$var3 の参照が $var4 の参照アドレスを指しているためです。 $var4 の実際の値は変更されていません。公式の説明は次のとおりです。 $GLOBALS['var'] は外部グローバル変数そのものであり、グローバル $var は外部 $var の同じ名前の参照またはポインタです。

この例はまだあまり明確ではないかもしれません。別の例を紹介しましょう:

コードをコピー

$var1 = 1; 関数 test1(){ テスト1(); var_dump($var1); //NULL$var2 = 1; 関数 test2(){ グローバル $var2 unset($var2); }tru​​e
unset($GLOBALS['var1']); }
テスト2();




echo $var2; //1 $var1 の値は削除されますが、$var2 の値はまだ存在します。これは、$var2 が単なるエイリアス参照であり、その値がまったく変更されていないことを証明しています。つまり、グローバル $var は実際には $var = &$GLOBALS['var'] であり、これは外部変数を呼び出すための単なるエイリアスです。





http://www.bkjia.com/PHPjc/631248.html

www.bkjia.com

http://www.bkjia.com/PHPjc/631248.html

技術記事 PHP のグローバル変数の分析は次のとおりです: Global の役割はグローバル変数を定義することですが、このグローバル変数は Web サイト全体ではなく、include または require 内のすべてのファイルを含む現在のページに適用されます...

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
PHPでインターフェイスをどのように作成して使用しますか?PHPでインターフェイスをどのように作成して使用しますか?Apr 30, 2025 pm 03:40 PM

この記事では、PHPでインターフェイスを作成、実装、および使用する方法について説明し、コード組織と保守性の利点に焦点を当てています。

crypt()とpassword_hash()の違いは何ですか?crypt()とpassword_hash()の違いは何ですか?Apr 30, 2025 pm 03:39 PM

この記事では、PHPのCrypt()とpassword_hash()の違いについて、パスワードハッシュの違いについて説明し、最新のWebアプリケーションの実装、セキュリティ、および適合性に焦点を当てています。

PHPのクロスサイトスクリプト(XSS)をどのように防ぐことができますか?PHPのクロスサイトスクリプト(XSS)をどのように防ぐことができますか?Apr 30, 2025 pm 03:38 PM

記事では、入力検証、出力エンコード、およびOWASP ESAPIやHTML浄化器などのツールを使用して、PHPのクロスサイトスクリプト(XSS)を防止します。

PHPの自動装置は何ですか?PHPの自動装置は何ですか?Apr 30, 2025 pm 03:37 PM

PHPでのオートローディングは、必要に応じてクラスファイルを自動的にロードし、メモリの使用を削減し、コード組織を強化することでパフォーマンスを向上させます。ベストプラクティスには、PSR-4の使用とコードを効果的に整理することが含まれます。

PHPストリームとは何ですか?PHPストリームとは何ですか?Apr 30, 2025 pm 03:36 PM

PHPストリームは、一貫したAPIを介したファイル、ネットワークソケット、圧縮形式などのリソースの処理を統合し、複雑さを抽象化し、コードの柔軟性と効率を高めます。

PHPを使用してアップロードできるファイルの最大サイズはどれくらいですか?PHPを使用してアップロードできるファイルの最大サイズはどれくらいですか?Apr 30, 2025 pm 03:35 PM

この記事では、PHPでファイルアップロードサイズの管理を管理し、2MBのデフォルト制限とPHP.ini設定を変更してそれを増やす方法に焦点を当てています。

PHPのめまいの種類とは何ですか?PHPのめまいの種類とは何ですか?Apr 30, 2025 pm 03:34 PM

この記事では、PHP 7.1で導入されたPHPのヌル可能なタイプについて説明し、変数またはパラメーターが指定されたタイプまたはnullのいずれかを可能にします。読みやすさの改善、タイプの安全性、明示的な意図などの利点を強調し、宣言する方法を説明します

unset()とlink()関数の違いは何ですか?unset()とlink()関数の違いは何ですか?Apr 30, 2025 pm 03:33 PM

この記事では、プログラミングのunset()とlink()関数の違いについて説明し、目的とユースケースに焦点を当てています。 unset()はメモリから変数を削除しますが、link()はファイルシステムからファイルを削除します。どちらもEFFECにとって重要です

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、