PHP ノート
-
phpの基礎入門
-
なぜphpを学ぶべきなのか
インターネットの情報を調べることで、phpの基礎知識を学び、phpのメリット・デメリットを知りました。 PHP は、汎用のオープンソース スクリプト言語です。この構文は C 言語、Java、Perl の特徴を吸収しており、学習が容易で主に Web 開発の分野に適しています。 PHP の独自の構文には、C、Java、Perl、および PHP 独自の構文が混合されています。 CGI や Perl よりも高速に動的 Web ページを実行できます。他のプログラミング言語と比較して、PHP で作成された動的ページは HTML (Standard Universal Markup Language に基づくアプリケーション) ドキュメントにプログラムを埋め込んで実行するため、HTML タグを完全に生成する CGI よりも実行効率が高く、コンパイルされたコードも実行できます。コンパイルにより暗号化が実現され、コードの実行が最適化され、コードの実行が高速化されます。
php と html、php 環境を構成します
-
- php 構文は、php コード内でタグ言語を完全にネストできる html 構文をサポートしています。 PHP は HTML 文書にプログラムを埋め込んで実行するため、HTML タグを完全に生成する CGI に比べて実行効率が非常に高くなります。
- 私はオンライン チュートリアルに従って PHP 環境を構成する方法を学び、最初の PHP ファイルを正常に実行しました。
-
基本的な PHP:
echo、print、文字列、算術演算、変数、セミコロン、コメント - echo と print の違いを理解する: echo は複数の値を出力でき、各値はカンマで区切られ、print は複数の値を出力できます。 1 つの値のみを出力します。
- 文字列型を出力する場合、echoとprintの両方を使用できます。複数の文字列を接続する場合は、英ドット(.)で接続できます。
- arithmetic は、6 を出力する echo 2 * 3; など、出力時の算術演算をサポートします。
- 変数、PHP 変数には型がありません。つまり、定義方法は $name = "wsy"; と似ており、各変数の前に $ 記号を追加するだけです。 name を指定し、残りは自分で定義します。変数は最初に割り当てられた後に定義されるため、$name は必要ありません。このように変数を定義します。
- 各 PHP ステートメントは、C/C++
- コメントと同じセミコロンで終わる必要があります。コメントも C/C++ コメントと同じですが、// または /**/ を使用します。
-
php 条件制御
-
比較記号
PHP の比較記号は C/C++ と似ており、さらに大きい (>)、より小さい (=)、以下 (
-
if と else と elseif
php の if ステートメントは C/C++ とよく似ています。() 内に条件も追加され、if(1) または if(true) の簡略化された記述もサポートされています。 )。
-
switch、endswitch
phpにもswitchがありますが、書き方はC/C++と同じです
switch ($a) { case 1: echo 1; break; default: echo 2;}
ログイン後にコピー通常の書き方と比べて、phpには別の書き方も用意されており、節約になります。中括弧。
switch ($a) : case 1: echo 1; break; default: echo 2;endswitch;
ログイン後にコピー
-
php配列
配列の定義
phpは変数の型を自動的に照合するため、php配列は異なる型の変数も同等に扱います。つまり、php配列は任意の変数を追加できます。型は配列内にあります。
$a = array("Tom", "Jim", 1, 2);
これは、4 つの要素、2 つの文字列型、および 2 つの数値型を含む a という名前の配列を定義します。配列要素の取得、[]、{}
配列の添字(C/C++ のように 0 から始まる)を介して配列の要素にアクセスするには 2 つの方法があり、1 つは [] を使用する方法です。もう一方は {} を使用します。これら 2 つのメソッドは同じであり、どちらのメソッドを使用しても配列要素にアクセスできます。
echo $a[2]; //输出1echo $a{1}; //输出Jim
ログイン後にコピー配列要素の変更
phpは、[]または{}を通じて対応する配列要素にアクセスし、それに新しい値を代入する方法をサポートしています。
$a[1] = “TTT”;echo $a{1}; //输出TTT,因为已经修改了。
ログイン後にコピー配列要素の削除
phpは、配列内の要素を削除したり、配列全体を削除したりする機能をサポートしています。対応する要素は unset(); を通じて削除できます。
unset($a[1]); //删除了数组中的第二个元素,现在数组包含Tom,1,2unset($a); //删除了整个数组
ログイン後にコピー
php ループ
**`for`循环**
ログイン後にコピーphp の for ループは C/C++ に似ており、++ 演算子をサポートしていますが、+= をサポートしていないため、+1 ではない for ループは、 $ i = $i + 3;
for ($i = 0; $i <= 100; $i = $i + 10) { //……}
ログイン後にコピー**`foreach`循环**
ログイン後にコピー配列全体をループする必要がある場合、for ループを書くのは面倒すぎる可能性があるため、PHP では特別なループ メソッドである foreach ループが提供されています。書き方は以下の通りです:
$a = array(“Tom”, “Jim”, 1, 2, 3);foreach ($a as $i) { echo $i;}
ログイン後にコピー
このようにして、php配列内のすべての要素を出力することができます。
foreach (配列名を変数名として使用)、配列内の各要素に対する次の操作は、ユーザー自身の変数名に対して変数操作を実行することですが、C/C++ での値とアドレスの転送と同様の変更関数はサポートされていません。違い。**`while`循环,`endwhile`**
ログイン後にコピーPHP で while ループを記述するには 2 つの方法があり、その共通の記述方法は誰もが知っています。
while () { //……}
ログイン後にコピー类似于之前的switch,php中也有另外一种写法。
while (): //……endwhile;
ログイン後にコピー同if/else一样,while同时也支持这样while(1)或者while(true)的简化写法。
**`do-while`循环**
ログイン後にコピーphp中的do-while循环与C/C++一样。
do { //……} while ();
ログイン後にコピーdo-while也支持这样do-while(1)或者do-while(true)的简化写法。
**循环嵌套**
ログイン後にコピーphp中支持各种循环的相互嵌套。
php函数(1)
关于字符串的相关函数
strlen(string)substr(string, start, length)strtoupper(string)strtolower(string)strpos(string, string)
ログイン後にコピーstrlen(string):此函数用于求传入形参字符串string 的长度,返回数字类型即字符串的长度。
substr(string, start, length):此函数用于求字符串string的某个子串。第一个形参为原字符串string。第二个形参start为子串在string中的开始位置,为数字类型变量。第三个形参length为子串的长度。此函数根据传入的形参,返回字符串类型的子串。
strtoupper(string):此函数用于将字符串string全部转换为大写。返回大写的string。
strtolower(string):此函数用于将字符串string全部转换为小写。返回小写的string。
strpos(string, string):此函数用于求在第一个string中第一次出现第二个string的首位置,若从未出现返回false。strpos("emily", "e"); // 0strpos("emily", "ily"); // 2strpos("emily", "zxc"); // false
ログイン後にコピー**关于数学的相关函数**
ログイン後にコピーround(number(, n))rand(min, max)
ログイン後にコピーround函数用于对浮点数保留小数。
round(number):这样写,默认对number保留为整数。
round(number, n):这样写,对number保留n位小数。
rand(min, max):此函数用于求给定范围[min, max]中的随机数。**关于数组的相关函数**
ログイン後にコピーarray_push(array, number/string)count(array)sort(array)rsort(array)join(string,array)
ログイン後にコピーarray_push(array, number/string):此函数用于对数组array尾端增加一个元素,可以为任意类型。
count(array):此函数用于求数组array中元素的个数。
sort(array):此函数用于将数组array中的元素按字典序从小到大排列。
rsort(array):此函数用于将数组array中的元素按字典序从大到小排列。
join(string, array):此函数用于将数组中的元素用string连接起来,并返回连接后的结果。$array = array(5, 3, 7 ,1);rsort($array);print join(":", $array);//输出 7:5:3:1
ログイン後にコピー
**php函数(2)**
ログイン後にコピー**自定义函数**
ログイン後にコピーphp中允许用户定义自己所需的不同的函数,但不需要写函数类型。
function Template() { //……}
ログイン後にコピーfunction 代表定义的是一个函数,Template为函数名,用户可以随意定义,不需要考虑函数的类型。
**带形参的自定义函数**
ログイン後にコピー在函数定义时,()之中可以为空,也可以添加形参,即称为带有形参的函数。
function aboutMe($name, $age) { echo "Hello! My name is " . $name . ", and I am " . $age . " years old.";}
ログイン後にコピー此函数定义了两个形参,分别为$name和$age。调用时,aboutMe("wsy", 22);即可,也可以传入其他变量名。
**自定义函数的返回值**
ログイン後にコピーphp的函数虽然没有函数类型,但是可以返回任意类型的值。
function returnName() { return "wsy";}
ログイン後にコピーreturn后可以跟变量也可直接跟常量。
**php对象(1)**
ログイン後にコピー**类的定义、对象的定义**
ログイン後にコピー同C++中类的定义相同,php的类定义如下。
class Dog { public $name; public $numLegs = 4; //可以定义公有成员,可以对其赋值也可以对其不赋值 //……}
ログイン後にコピー建立一个类的对象。
$dog = new Dog();
调用公有成员。echo $dog->numLegs;//name因为未赋值,若要输出name的话,则不会输出任何东西。
ログイン後にコピー**构造器的定义及调用**
ログイン後にコピー在类可以用__construct()来定义构造器。
class Dog { public $name; public $numLegs = 4; public function __construct($name) { //构造器可以带形参也可以不带形参 $this->name = $name; //若要对类内成员赋值,需用$this->成员名 的形式赋值。 } //……}
ログイン後にコピー构造器在定义对象时自动被调用。
$dog = new Dog(“Tom”);echo $dog->name;//输出Tom。
ログイン後にコピー**方法的定义及调用**在类内可以自定义方法。
ログイン後にコピーclass Dog { public $name; public $numLegs = 4; public function __construct($name) { $this->name = $name; } public function greet() { //方法可以带形参也可以不带 return “Hello, my name is ” . $name . “.”; //方法可以有返回值也可以没有 } //……}
ログイン後にコピー方法的调用类似公有成员的调用,()不可省略。
$dog = new Dog(“Tom”);echo $dog->greet();//输出Hello, my name is Tom.
ログイン後にコピー
**php对象(2)**
ログイン後にコピー**类的继承**
ログイン後にコピーphp支持类的继承。
class Shape {public $hasSides = true;}class Square extends Shape { //Square类继承了Shape类}
ログイン後にコピー通过property_exists()函数可以查看某个类是否包含某个方法或者私有成员。
$square = new Square();if (property_exists($square, "hasSides")) { echo "I have sides!";}//有输出,输出I have sides!
ログイン後にコピーphp的类继承与C++中的类继承一样,子类会继承父类的所以公有成员和方法。
**重写父类方法,`final`**
ログイン後にコピーphp支持在子类中重写父类中的方法,并且在调用时调用的为子类重写后的方法。
class Vehicle { public function honk() { return "HONK HONK!"; }}class Bicycle extends Vehicle { public function honk() { //父类方法的重写 return "Beep beep!"; }}
ログイン後にコピー调用子类方法
$bicycle = new Bicycle();echo $bicycle->honk();//将输出Beep beep!
ログイン後にコピー若想要在子类重写后,仍调用的为父类继承来的方法。只需在父类方法前增加final关键字。若将上面父类Vehicle中的honk方法改为如下形式,其他保持不变。
final public function honk() { //……}
ログイン後にコピー最终程序将输出HONK HONK!。
**`const`和`::`**
ログイン後にコピーphp类中支持const常量,即定义时就需要赋值,一旦赋值后不允许修改。
class Cat { const numLegs = 4; //不需要添加$符号}
ログイン後にコピー对于const常量的访问,不能与之前公有成员的访问方法一样,而应该用::来访问。因为常量是针对每个类而言,所以应采取如下形式访问。
echo Cat::numLegs;//输出4
ログイン後にコピー**`static`**
ログイン後にコピーphp类支持静态方法和静态变量,允许用户在不创建对象而可以访问成员和方法。
class Person { public static $isAlive = "Yep!" public static function greet() { echo "Hello there!"; }}
ログイン後にコピー调用时,采取如下形式访问。
echo Person::$isAlive;//输出Yep!Person::greet();//输出Hello there!
ログイン後にコピー

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

PHPロギングは、Webアプリケーションの監視とデバッグ、および重要なイベント、エラー、ランタイムの動作をキャプチャするために不可欠です。システムのパフォーマンスに関する貴重な洞察を提供し、問題の特定に役立ち、より速いトラブルシューティングをサポートします

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。
