ホームページ php教程 php手册 PHPの基礎知識メモ

PHPの基礎知識メモ

Jun 21, 2016 am 08:48 AM
global nbsp php quot unset

include と require の類似点と相違点:

同じ点: どちらも他の php ファイルをインポートできます。

違い: インクルードでインポート ファイル エラーが発生した場合、警告のみが表示されますが、プログラムは引き続き実行されます。 require でエラーが発生した場合、エラーが報告され、プログラムは終了します。

一般に、include と require の代わりに include_once と require_once が使用されます。 C 言語と同様に、ファイルを紹介するステートメントを最初に配置する必要があります。

PHP 変数では大文字と小文字が区別されますが、関数名では大文字と小文字が区別されません。また、数字で始めることはできません。たとえば、Abc と abc が同じである場合、これら 2 つの関数が同じファイル内に共存すると、エラーが報告されます。

ローカル変数とグローバル変数が同じ名前を持つ状況の分析;

次のコード部分を見てください:

$a=45;

function abc(){ //関数を定義

$a+= 10;

}

abc(); //関数を呼び出します

echo ‘$a=’.$a;

出力結果は何ですか?結果はまだ 45 ですが、なぜですか?関数本体内には、外部変数 $a と同じ名前を持つローカル変数がありますが、これらは同じ変数ではなく、まったく関係のない 2 つの変数です。関数内の変数 $a は、関数の実行が完了すると解放されます。出力は外部変数のままです。関数本体内で外部変数 (グローバル変数) を使用する場合は、同じ名前の内部変数の前にグローバル ステートメントを追加する必要があります。実際、コンパイラから見ると、グローバルとして宣言すると、実際にはこのローカル変数に同名の外部変数のアドレスが代入されます。このとき、内部変数と同名の外部変数は、同じアドレスなので、当然同じ変数になります。関数本体内の仮パラメータ、またはグローバルとして宣言されていないローカル変数はローカル変数として使用され、スコープは関数本体内になります。たとえば、次のコードの出力結果は 55 ではなく 45 です。

$a=45;

function abc($a){ //関数を定義

$a += 10;

}

abc($a); //関数を呼び出す

echo ‘$a=’.$a;

php には 3 つのレベルのエラーがあります:

第 1 レベルのエラー: 最も軽いエラーですが、まだ実行できることに注意してください

レベル 2 エラー: 警告、警告。

を実行することもできます

第 3 レベルのエラー: エラー、プログラムは実行できません。このエラーは最も重大なエラーです。

unset 関数の説明:

(PHP 3、PHP 4)

unset -- 指定された変数を解放します。この変数を使用したくない場合は解放できます。

説明

void unset (mixedvar [,mixed var[,...]])

unset() は、指定された変数を破棄します。 PHP 3 では、unset() は TRUE (実際には整数値 1) を返すことに注意してください。一方、PHP 4 では、unset() は実際の関数ではなくなり、ステートメントになりました。戻り値がないため、unset() の戻り値を取得しようとすると解析エラーが発生します。

関数内でグローバル変数を unset() すると、ローカル変数のみが破棄され、呼び出し環境内の変数は unset() を呼び出す前と同じ値を維持します。つまり、グローバル変数は関数の外では変更されません。関数内で参照によって渡された変数を unset() すると、ローカル変数のみが破棄され、呼び出し環境内の変数は unset() を呼び出す前と同じ値を保持します。つまり、仮パラメータはアドレス文字です。

php は C 言語に似ていますが、ポリモーフィズムをサポートしておらず、同じ名前の関数の存在は許可されません。ただし、仮パラメータの値を省略したり、記述する数を減らしたりすることができます。電話をかけるとき。仮パラメータにデフォルト値を割り当てることもできます。たとえば、関数 diyMethod($a,$b=3) は、仮パラメータにデフォルト値 3 を割り当てます。PHP 関数のデフォルト値の転送方法は、参照転送 (アドレス転送) を使用する場合に追加します。仮パラメータの前のアドレス文字、それだけです。参照による受け渡しは、実際には、関数の仮パラメータに対応する受信パラメータを偽装グローバル変数に変換することと同じです。グローバルな声明はありませんが。参照渡しでは、渡されたパラメータの値が変更されます。ただし、ここでの参照は C 言語のポインタではないことに注意してください。ポインタ自体が変数であり、php の参照は実際には変数のエイリアスであるため、1 つのアドレスに複数の変数名を付けることができます。 PHP でのクォートとは、同じ変数の内容に異なる名前でアクセスすることを意味します。 global $var を使用して変数を宣言すると、実際にはグローバル変数への参照が作成されます。

php で変数と定数を定義する方法

1. 定数を定義します。define("CONSTANT", "Hello world.");

定数にはスカラー データ (ブール値、整数、浮動小数点、文字列) のみを含めることができます。

定数を呼び出すときは、次のように、「$」記号を追加せずに、名前を使用するだけで定数の値を取得できます。

注: 定数と (グローバル) 変数は異なる名前空間にあります。これは、たとえば TRUE と $TRUE が異なることを意味します。

2. 通常の変数 $a = "こんにちは";

3. 変数変数 (2 つのドル記号 ($) を使用します)

$$a = "世界"

両方の変数が定義されています:

$a の内容は「hello」、$hello の内容は「world」です。

したがって、次のように表すことができます:

echo "$a ${$a}"; または echo "$a $hello"; どちらも次のように出力されます: hello world

配列で可変変数を使用するには、あいまいさを解決する必要があります。これは、$$a[1] を記述するときに、パーサーは $a[1] を変数として必要とするか、または $$a を変数として必要としてインデックス [1] 値を持つ変数を抽出するかを知る必要があります。この問題を解決する構文は、最初のケースには ${$a[1]} を使用し、2 番目のケースには ${$a}[1] を使用します。

4. 静的変数

関数内の静的 $a =0

注: 宣言内の式の結果を代入すると、static $a =3+3 (error)

などの解析エラーが発生します。

静的変数はローカル関数ドメイン (関数内) にのみ存在し、関数の実行後も変数値は失われず、再帰呼び出しに使用できます。

5. グローバル変数

関数本体の外で定義されたグローバル変数は、関数本体の外で使用できます。関数本体の外で定義されたグローバル変数は、関数本体の内部では使用できません。グローバル スコープ内の変数にアクセスするには、特別な PHP カスタム $GLOBALS を使用できます。配列:

例: $GLOBALS["b"] = $GLOBALS["a"] +$GLOBALS["b"];

関数スコープ内で global ステートメントを使用してインポートされた実際のグローバル変数は、実際にグローバル変数への参照を確立します

グローバル $obj

注: 変数の静的定義とグローバル定義はアプリケーション方式で実装されます

6. 変数に値を代入する: アドレスによる代入 (単純な参照):

$bar = &$foo; //代入する変数の前に & 記号を追加します

新しい変数を変更すると元の変数に影響があり、この代入操作のほうが高速です

注: アドレス

で割り当てることができるのは名前付き変数のみです

注:

の場合

$bar = &$a;

$bar = &$foo

$bar の値を変更すると、変数 foo の値のみが変更され、a の値は変更されません (参照が変更されました)

7.PHP スーパー グローバル変数 $GLOBALS: 現在の各スクリプトのグローバル スコープで有効な変数を指す参照が含まれています。この配列のキーには、グローバル変数の名前が付けられます。 $GLOBALS 配列は PHP 3 以降に存在します。

$_SERVER: 変数は Web サーバーによって設定されるか、現在のスクリプトの実行環境に直接関連付けられます。古い $HTTP_SERVER_VARS 配列に似ています (まだ有効ですが、非推奨です)。

$_GET: HTTP GET メソッド経由でスクリプトに送信される変数。

$_POST: HTTP POST メソッド経由でスクリプトに送信される変数。

$_COOKIE: HTTP Cookie メソッドを介してスクリプトに送信される変数。

$_FILES : HTTP POST ファイルのアップロードを通じてスクリプトに送信された変数。

ファイルアップロードフォームには enctype="multipart/form-data" が必要です

$_ENV: 実行環境によってスクリプトに送信される変数。

$_REQUEST: GET、POST、COOKIE メカニズムを介してスクリプトに送信された変数であるため、この配列は信頼できません。この配列に含まれるすべての変数の有無、および順序は、php.ini の variables_order 設定ディレクティブに従って定義されます。この配列は、PHP4.1.0 の以前のバージョンを直接エミュレートしません。 import_request_variables() を参照してください。

注: PHP 4.3.0 以降、$_FILES のファイル情報は $_REQUEST に存在しなくなりました。

$_SESSION: スクリプト セッションに現在登録されている変数。

phpinfo() を無効にする方法:

php.ini

disable_functions = phpinfo()

Webサーバーを再起動します。

php の定数

定数は (定数名、定数値) のみ定義できます。

定数にはスカラー データ (ブール、整数、浮動小数点、文字列) のみを含めることができます。

定数の名前を指定するだけで定数の値を取得できます。定数の前に $ 記号を追加しないでください。定数名が動的である場合は、関数

を使用することもできます。

constant() は定数の値を読み取ります。 get_define_constants() を使用して、定義されているすべての定数のリストを取得します。

注: 定数と (グローバル) 変数は異なる名前空間にあります。これは、たとえば TRUE と $TRUE が異なることを意味します。

未定義の定数が使用される場合、PHP は文字列で呼び出すかのように、必要なのは定数自体の名前であると想定します (CONSTANT は「CONSTANT」に対応します)。 E_NOTICE レベルのエラーが発行されます。 $w3sky[bar] が間違っている理由についてはマニュアルを参照してください (bar が事前にdefine() で定数として定義されている場合を除く)。特定の定数が定義されているかどうかだけを確認したい場合は、define() 関数を使用します。

定数と変数は異なります:

* 定数の前にドル記号 ($) はありません。

* 定数は、代入ステートメントではなく、define() 関数を使用してのみ定義できます。

* 定数は、変数スコープのルールに関係なく、どこでも定義してアクセスできます。

* 定数を一度定義すると、再定義したり、定義を解除したりすることはできません。

* 定数の値はスカラーのみです。

定数を定義する

define("CONSTANT", "Helloworld.");

echo CONSTANT; // 「Helloworld」を出力します。

echo Constant; // 「定数」を出力し、通知を発行します。

?>

飛び込み競技では、10人の審査員が採点し、最高点と最低点を除いた残りの審査員の得点の平均を選手の得点として計算し、最も得点の高い審査員に得点を出力するようにしてください。最も低いスコアを持ったジャッジと選手のスコア。

答えは次のとおりです:

<?php  
    $arr = array("arial"=>12,"ms"=>9.0,"ok"=>7.1,"song"=>5.0,"bold"=>3.8,"know"=>2.7,"wow"=>1.7,"serial"=>7.9,"moder"=>7.6,"froke"=>6.7);  
    function  getMinMax($arr,$k=true){ //$k 为 true时输出最小值,为false 则输出最大值,还有平均数  
       $num=$arr["arial"];$sum=0;$s="arial";  
       foreach($arr as $i => $value){  
            if($k){   
                if($value<$num){  
                    $num =$value;$s=$i;   
                }  
            }else {  
                if($value>$num){  
                    $num =$value;$s=$i;   
                }   
            }  
       }   
       $sum = array_sum($arr);  
       return array($sum,$num,$s);  
    }  
    $newArr=getMinMax($arr,true);   
    $sum=$newArr[0]-$newArr[1];   
    echo &#39;the lowest degree people is &#39;.$newArr[2]."<br />";  
    unset($newArr);  
    $newArr=getMinMax($arr,false);   
    $sum -= $newArr[1];  
    echo &#39;<br />the highest degree people is &#39;.$newArr[2];  
    echo &#39;<br />the average degree is &#39;.$sum/(count($arr)-2);  
?>  
ログイン後にコピー

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホット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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

今まで知らなかったことを後悔している 7 つの PHP 関数 今まで知らなかったことを後悔している 7 つの PHP 関数 Nov 13, 2024 am 09:42 AM

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 Apr 05, 2025 am 12:04 AM

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

母音を文字列にカウントするPHPプログラム 母音を文字列にカウントするPHPプログラム Feb 07, 2025 pm 12:12 PM

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

PHPでの後期静的結合を説明します(静的::)。 PHPでの後期静的結合を説明します(静的::)。 Apr 03, 2025 am 12:04 AM

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? Apr 03, 2025 am 12:03 AM

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。

See all articles