PHP ノート

Jun 23, 2016 pm 01:22 PM

  1. phpの基礎入門

    1. なぜphpを学ぶべきなのか

      インターネットの情報を調べることで、phpの基礎知識を学び、phpのメリット・デメリットを知りました。 PHP は、汎用のオープンソース スクリプト言語です。この構文は C 言語、Java、Perl の特徴を吸収しており、学習が容易で主に Web 開発の分野に適しています。 PHP の独自の構文には、C、Java、Perl、および PHP 独自の構文が混合されています。 CGI や Perl よりも高速に動的 Web ページを実行できます。他のプログラミング言語と比較して、PHP で作成された動的ページは HTML (Standard Universal Markup Language に基づくアプリケーション) ドキュメントにプログラムを埋め込んで実行するため、HTML タグを完全に生成する CGI よりも実行効率が高く、コンパイルされたコードも実行できます。コンパイルにより暗号化が実現され、コードの実行が最適化され、コードの実行が高速化されます。

    2. php と html、php 環境を構成します

  2. php 構文は、php コード内でタグ言語を完全にネストできる html 構文をサポートしています。 PHP は HTML 文書にプログラムを埋め込んで実行するため、HTML タグを完全に生成する CGI に比べて実行効率が非常に高くなります。
  3. 私はオンライン チュートリアルに従って PHP 環境を構成する方法を学び、最初の PHP ファイルを正常に実行しました。
    1. 基本的な PHP:
      echo、print、文字列、算術演算、変数、セミコロン、コメント
  4. echo と print の違いを理解する: echo は複数の値を出力でき、各値はカンマで区切られ、print は複数の値を出力できます。 1 つの値のみを出力します。
  5. 文字列型を出力する場合、echoとprintの両方を使用できます。複数の文字列を接続する場合は、英ドット(.)で接続できます。
  6. arithmetic は、6 を出力する echo 2 * 3; など、出力時の算術演算をサポートします。
  7. 変数、PHP 変数には型がありません。つまり、定義方法は $name = "wsy"; と似ており、各変数の前に $ 記号を追加するだけです。 name を指定し、残りは自分で定義します。変数は最初に割り当てられた後に定義されるため、$name は必要ありません。このように変数を定義します。
  8. 各 PHP ステートメントは、C/C++
  9. コメントと同じセミコロンで終わる必要があります。コメントも C/C++ コメントと同じですが、// または /**/ を使用します。
  10. php 条件制御

    1. 比較記号

      PHP の比較記号は C/C++ と似ており、さらに大きい (>)、より小さい (=)、以下 (

    2. if と else と elseif

      php の if ステートメントは C/C++ とよく似ています。() 内に条件も追加され、if(1) または if(true) の簡略化された記述もサポートされています。 )。

    3. 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;
      ログイン後にコピー
  11. php配列

    1. 配列の定義

      phpは変数の型を自動的に照合するため、php配列は異なる型の変数も同等に扱います。つまり、php配列は任意の変数を追加できます。型は配列内にあります。
      $a = array("Tom", "Jim", 1, 2);
      これは、4 つの要素、2 つの文字列型、および 2 つの数値型を含む a という名前の配列を定義します。

    2. 配列要素の取得、[]、{}

      配列の添字(C/C++ のように 0 から始まる)を介して配列の要素にアクセスするには 2 つの方法があり、1 つは [] を使用する方法です。もう一方は {} を使用します。これら 2 つのメソッドは同じであり、どちらのメソッドを使用しても配列要素にアクセスできます。

      echo $a[2];  //输出1echo $a{1};  //输出Jim
      ログイン後にコピー
    3. 配列要素の変更

      phpは、[]または{}を通じて対応する配列要素にアクセスし、それに新しい値を代入する方法をサポートしています。

      $a[1] = “TTT”;echo $a{1};  //输出TTT,因为已经修改了。
      ログイン後にコピー
    4. 配列要素の削除

      phpは、配列内の要素を削除したり、配列全体を削除したりする機能をサポートしています。対応する要素は unset(); を通じて削除できます。

      unset($a[1]);  //删除了数组中的第二个元素,现在数组包含Tom,1,2unset($a);  //删除了整个数组
      ログイン後にコピー
  12. php ループ

    1. **`for`循环**
      ログイン後にコピー

      php の for ループは C/C++ に似ており、++ 演算子をサポートしていますが、+= をサポートしていないため、+1 ではない for ループは、 $ i = $i + 3;

      for ($i = 0; $i <= 100; $i = $i + 10) {	//……}
      ログイン後にコピー
    2. **`foreach`循环**
      ログイン後にコピー

      配列全体をループする必要がある場合、for ループを書くのは面倒すぎる可能性があるため、PHP では特別なループ メソッドである foreach ループが提供されています。書き方は以下の通りです:

      $a = array(“Tom”, “Jim”, 1, 2, 3);foreach ($a as $i) {	echo $i;}
      ログイン後にコピー

    このようにして、php配列内のすべての要素を出力することができます。
    foreach (配列名を変数名として使用)、配列内の各要素に対する次の操作は、ユーザー自身の変数名に対して変数操作を実行することですが、C/C++ での値とアドレスの転送と同様の変更関数はサポートされていません。違い。

    1. **`while`循环,`endwhile`**
      ログイン後にコピー

      PHP で while ループを記述するには 2 つの方法があり、その共通の記述方法は誰もが知っています。

      while () {	//……}
      ログイン後にコピー

      类似于之前的switch,php中也有另外一种写法。

      while ():	//……endwhile;
      ログイン後にコピー

      同if/else一样,while同时也支持这样while(1)或者while(true)的简化写法。

    2. **`do-while`循环**
      ログイン後にコピー

      php中的do-while循环与C/C++一样。

      do {	//……} while ();
      ログイン後にコピー

      do-while也支持这样do-while(1)或者do-while(true)的简化写法。

    3. **循环嵌套**
      ログイン後にコピー

      php中支持各种循环的相互嵌套。

  13. php函数(1)

    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
      ログイン後にコピー
    2. **关于数学的相关函数**
      ログイン後にコピー
      round(number(, n))rand(min, max)
      ログイン後にコピー

      round函数用于对浮点数保留小数。
      round(number):这样写,默认对number保留为整数。
      round(number, n):这样写,对number保留n位小数。
      rand(min, max):此函数用于求给定范围[min, max]中的随机数。

    3. **关于数组的相关函数** 
      ログイン後にコピー
      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
      ログイン後にコピー
  14. **php函数(2)**
    ログイン後にコピー
    1. **自定义函数**
      ログイン後にコピー

      php中允许用户定义自己所需的不同的函数,但不需要写函数类型。

      function Template() {	//……}
      ログイン後にコピー

      function 代表定义的是一个函数,Template为函数名,用户可以随意定义,不需要考虑函数的类型。

    2. **带形参的自定义函数**
      ログイン後にコピー

      在函数定义时,()之中可以为空,也可以添加形参,即称为带有形参的函数。

      function aboutMe($name, $age) {	echo "Hello! My name is " . $name . ", and I am " . $age . " years old.";}
      ログイン後にコピー

      此函数定义了两个形参,分别为$name和$age。调用时,aboutMe("wsy", 22);即可,也可以传入其他变量名。

    3. **自定义函数的返回值**
      ログイン後にコピー

      php的函数虽然没有函数类型,但是可以返回任意类型的值。

      function returnName() {	return "wsy";}
      ログイン後にコピー

      return后可以跟变量也可直接跟常量。

  15. **php对象(1)**
    ログイン後にコピー
    1. **类的定义、对象的定义**
      ログイン後にコピー

      同C++中类的定义相同,php的类定义如下。

      class Dog {		public $name;		public $numLegs = 4;		//可以定义公有成员,可以对其赋值也可以对其不赋值		//……}
      ログイン後にコピー

      建立一个类的对象。
      $dog = new Dog();
      调用公有成员。

      echo $dog->numLegs;//name因为未赋值,若要输出name的话,则不会输出任何东西。
      ログイン後にコピー
    2. **构造器的定义及调用**
      ログイン後にコピー

      在类可以用__construct()来定义构造器。

      class Dog {	public $name;	public $numLegs = 4;	public function __construct($name) {		//构造器可以带形参也可以不带形参		$this->name = $name;		//若要对类内成员赋值,需用$this->成员名 的形式赋值。	}	//……}
      ログイン後にコピー

      构造器在定义对象时自动被调用。

      $dog = new Dog(“Tom”);echo $dog->name;//输出Tom。
      ログイン後にコピー
    3. **方法的定义及调用**在类内可以自定义方法。
      ログイン後にコピー
      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.
      ログイン後にコピー
  16. **php对象(2)**
    ログイン後にコピー
    1. **类的继承**
      ログイン後にコピー

      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++中的类继承一样,子类会继承父类的所以公有成员和方法。

    2. **重写父类方法,`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!。

    3. **`const`和`::`**
      ログイン後にコピー

      php类中支持const常量,即定义时就需要赋值,一旦赋值后不允许修改。

      class Cat {	const numLegs = 4;	//不需要添加$符号}
      ログイン後にコピー

      对于const常量的访问,不能与之前公有成员的访问方法一样,而应该用::来访问。因为常量是针对每个类而言,所以应采取如下形式访问。

      echo Cat::numLegs;//输出4
      ログイン後にコピー
    4. **`static`**
      ログイン後にコピー

      php类支持静态方法和静态变量,允许用户在不创建对象而可以访问成员和方法。

      class Person {	public static $isAlive = "Yep!"	public static function greet() {		echo "Hello there!";	}}
      ログイン後にコピー

      调用时,采取如下形式访问。

      echo Person::$isAlive;//输出Yep!Person::greet();//输出Hello there!
      ログイン後にコピー
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

PHPでの安全なパスワードハッシュ(例:Password_hash、password_verify)を説明します。 MD5またはSHA1を使用してみませんか? PHPでの安全なパスワードハッシュ(例:Password_hash、password_verify)を説明します。 MD5またはSHA1を使用してみませんか? Apr 17, 2025 am 12:06 AM

PHPでは、Password_hashとpassword_verify関数を使用して安全なパスワードハッシュを実装する必要があり、MD5またはSHA1を使用しないでください。 1)password_hashセキュリティを強化するために、塩値を含むハッシュを生成します。 2)password_verifyハッシュ値を比較して、パスワードを確認し、セキュリティを確保します。 3)MD5とSHA1は脆弱であり、塩の値が不足しており、最新のパスワードセキュリティには適していません。

PHPとPython:2つの一般的なプログラミング言語を比較します PHPとPython:2つの一般的なプログラミング言語を比較します Apr 14, 2025 am 12:13 AM

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

アクション中のPHP:実際の例とアプリケーション アクション中のPHP:実際の例とアプリケーション Apr 14, 2025 am 12:19 AM

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

スカラータイプ、リターンタイプ、ユニオンタイプ、ヌル可能なタイプなど、PHPタイプのヒントはどのように機能しますか? スカラータイプ、リターンタイプ、ユニオンタイプ、ヌル可能なタイプなど、PHPタイプのヒントはどのように機能しますか? Apr 17, 2025 am 12:25 AM

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。

PHPの永続的な関連性:それはまだ生きていますか? PHPの永続的な関連性:それはまだ生きていますか? Apr 14, 2025 am 12:12 AM

PHPは依然として動的であり、現代のプログラミングの分野で重要な位置を占めています。 1)PHPのシンプルさと強力なコミュニティサポートにより、Web開発で広く使用されています。 2)その柔軟性と安定性により、Webフォーム、データベース操作、ファイル処理の処理において顕著になります。 3)PHPは、初心者や経験豊富な開発者に適した、常に進化し、最適化しています。

PHPおよびPython:さまざまなパラダイムが説明されています PHPおよびPython:さまざまなパラダイムが説明されています Apr 18, 2025 am 12:26 AM

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPでのSQL注入をどのように防止しますか? (準備された声明、PDO) PHPでのSQL注入をどのように防止しますか? (準備された声明、PDO) Apr 15, 2025 am 12:15 AM

PHPで前処理ステートメントとPDOを使用すると、SQL注入攻撃を効果的に防ぐことができます。 1)PDOを使用してデータベースに接続し、エラーモードを設定します。 2)準備方法を使用して前処理ステートメントを作成し、プレースホルダーを使用してデータを渡し、メソッドを実行します。 3)結果のクエリを処理し、コードのセキュリティとパフォーマンスを確保します。

PHPおよびPython:コードの例と比較 PHPおよびPython:コードの例と比較 Apr 15, 2025 am 12:07 AM

PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。

See all articles