php の基本を始める

Jun 23, 2016 pm 01:08 PM

1. はじめに

新しい会社のニーズにより、私は元の ASP から php の学習に切り替えました。自分自身の勉強を通じて、できるだけ早く php に慣れることができれば幸いです

2. PHP の独特の文法的特徴

1. 引用符の問題

PHP では、一重引用符と二重引用符は基本的に同じ効果ですが、場合によっては異なります

は引用符で囲む文字列を含めるのに使用できます

<meta charset="utf-8"><?php    $str1="xiecanyong";    $str2='xcy';    echo $str1;    echo "<br />";    echo $str2;?>
ログイン後にコピー

ただし、一重引用符で囲まれた内容は文字列に解析されるだけですが、二重引用符は文字列に変数を追加できます

<meta charset="utf-8"><?php    $age=",I am age 22";    $str1="xiecanyong$age";    $str2='xcy$age';    echo $str1;    echo "<br />";    echo $str2;?>
ログイン後にコピー

結果 ここでは説明はありませんので、自分で実行してください

2. PHP 定数

ASP と比較して、PHP にはシステムでカプセル化された定数がいくつかあり、これは使用に有益であり、以下のこともサポートします。定数を自分でカプセル化します

Common 定数は次のとおりです:

以下は、一般的に使用される PHP システム定数の一部です:

__FILE__ 現在の PHP ファイル名

__LINE__ 現在の PHP ファイルの行数

__FUNCTION__実行された関数

__CLASS__ 現在実行されているクラス

PHP_VERSION PHP バージョン

PHP_OS 現在のサーバーオペレーティングシステム

TRUE true と同じ

FALSE false と同じ

E_ERROR 最も近いエラーに移動

E_WARNING 最も近いエラーに移動警告

E_PARSE 構文エラー

E_NOTICE PHP 言語には例外があります

M__PI Pi

M__E 科学定数 e

M__LOG2E 底が 2 の e の対数

M_LOG10E 底が 10 の e の対数

M _LN2 2 の自然対数

M_LN10 10の自然対数

以上、PHPのシステム定数の内容をご紹介しましたが、皆様のお役に立てれば幸いです。

例:

rrree

出力される結果は次のとおりです: 3、現在 3 行目で実行されていることを示します

定数を使用する場合、通常は次のように使用します

1 を使用します。

rrree

を定義するメソッド

を定義するには、const キーワードを使用します。例: const p=2; これは、定数 2

のテストを決定します。

大規模なプロジェクトの場合、特定のパラメータが変数なのか定数なのかがわからないため、定数の場合は再代入時にエラーが発生するため、定義されたメソッドを使用して特定のパラメータが変数であるかどうかを確認する必要があります。は定数です

<meta charset="utf-8"><?php    echo __Line__;?>
ログイン後にコピー

3. PHP 文字列操作

包括的な PHP 文字列操作で説明しましょう

<meta charset="utf-8"><?php    //模拟圆的面积计算    define("R", 5);    $area=R*R*pi();    echo $area;?>
ログイン後にコピー

文字列連結子

ここでの文字列コネクタは、他の言語のコネクタとは多少異なります。「.」を介して接続され、PHP では、.= は他の言語の +=

に相当します。エラー制御演算子「@」。操作中にエラーが発生する可能性のある一部の式については、エラーが発生したときに顧客にエラー メッセージを表示したくありません。これはユーザーフレンドリーではありません。式によって生成されたエラー メッセージは変数 $php_errormsg に保存されます。この変数はエラーが発生するたびに上書きされるため、使用する場合はできるだけ早く確認する必要があります。

<meta charset="utf-8"><?php    //$CONSTANT="2";    define("CONSTANT","2");if (defined('CONSTANT')) {    echo CONSTANT;}?>
ログイン後にコピー

error_reporting(0); PHP 警告プロンプトの表示を抑制します 文字列操作の詳細については、http://www.jianshu.com/p/91ed5dc67977

4 を参照してください。

<meta charset="utf-8"><?php    $str = "Hello PHP";    //获取指定字符在字符串中的位置    echo  strpos($str,"P")."<br>";    //截取指定位置的字符串(从第2个字符到最后)    $str1 = substr($str,2);    //截取指定位置的字符串(从第2个字符开始往后截取3位)    $str2 = substr($str,2,2);    //以指定间距分割字符串    $str3 = str_split($str);    $str4 = str_split($str,2);    print_r($str4)."<br>";    //以指定字符分割字符串    $str = "PHP JAVA JS HTML CSS";    $str5 = explode(" ",$str);    print_r($str5)."<br>";?>
ログイン後にコピー

原則は

: 最初に name メソッドを定義し、次にその内容を name として持つ変数を定義します。最後の文は実際には $n()=name+() を実行するのと同じです。名前メソッド

5. 共通の組み込み関数

str_replace

は文字列置換を実現できます

function_exists

関数が存在するかどうかを判断します

method_exists

はクラスのメソッドかどうかを検出するために使用できますクラス定義を使用できるかどうかは存在します"$" を付けます 一般に、一般的な修飾子は public、private、protected の 3 つです

メソッドとプロパティは静的に変更することもできますが、変更されたメソッドやプロパティは -> を使用して呼び出すことはできないことに注意してください。次のように置き換える必要があります::

<?php  $conn = @mysql_connect("localhost","username","password");echo "出错了,错误原因是:".$php_errormsg;?>
ログイン後にコピー

Constructor

在PHP中也存在构造函数,但是书写上与asp有些不通过

<meta charset="utf-8"><?php    //定义一个构造类    class Person{        public function __construct(){            echo "this is construct";        }    }    $per=new Person();?>
ログイン後にコピー

如果是继承关系中,子类可以通过parent::__construct()来调用父类的构造函数

<meta charset="utf-8"><?php    //定义一个构造类    class Person{        public function __construct(){            echo "父类构造函数\n";        }    }    class LiLei extends Person{        public function __construct(){            parent::__construct();            echo "子类构造函数\n";                    }    }    $per=new LiLei();?>
ログイン後にコピー

在static方法中,不允许使用$this来对自身的调用,应该要写成self,同时我们应该还要注意::这个符号后面的$是不能省略的

<meta charset="utf-8"><?php    //定义一个构造类    class Person{        public function __construct(){            echo "父类构造函数\n";        }    }    class LiLei extends Person{                public function __construct(){            parent::__construct();            echo "子类构造函数\n";                    }        public static $name='LiLei';        public static function GoodAt(){            return self::$name;        }    }    $per=new LiLei();    echo "<br />";    echo $per::GoodAt();?>
ログイン後にコピー

_destruct(),这个方法为析构函数,但是由于PHP中存在垃圾回收机制,所以这个不常用

重载

这里的重载跟C#中方法的重载不是同一个定义,这里的重载指的是,对属性的相关操作

class Car {  private $ary = array(); //创建属性  public function __set($key, $val) {     $this->ary[$key] = $val;  }  //获取属性  public function __get($key) {      if (isset($this->ary[$key])) {          return $this->ary[$key];      }      return null;  }  //判断属性是否存在  public function __isset($key) {      if (isset($this->ary[$key])) {          return true;      }      return false;  }  //释放属性  public function __unset($key) {      unset($this->ary[$key]);  }}$car = new Car();$car->name = '汽车';  //name属性动态创建并赋值echo $car->name;
ログイン後にコピー

方法的重载通过 call 来实现,当调用不存在的方法的时候,将会转为参数调用call方法,当调用不存在的静态方法时会使用 __callStatic 重载。

class Car {  public $speed = 0;  public function __call($name, $args) {      if ($name == 'speedUp') {          $this->speed += 10;      }  }}$car = new Car();$car->speedUp(); //调用不存在的方法会使用重载echo $car->speed;
ログイン後にコピー

 

其他高级的操作详见:http://www.jianshu.com/p/26ac93b6bf32

 

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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のカール:REST APIでPHPカール拡張機能を使用する方法 PHPのカール:REST APIでPHPカール拡張機能を使用する方法 Mar 14, 2025 am 11:42 AM

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

Codecanyonで12の最高のPHPチャットスクリプト Codecanyonで12の最高のPHPチャットスクリプト Mar 13, 2025 pm 12:08 PM

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

PHPにおける後期静的結合の概念を説明します。 PHPにおける後期静的結合の概念を説明します。 Mar 21, 2025 pm 01:33 PM

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

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.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

フレームワークセキュリティ機能:脆弱性から保護します。 フレームワークセキュリティ機能:脆弱性から保護します。 Mar 28, 2025 pm 05:11 PM

記事では、入力検証、認証、定期的な更新など、脆弱性から保護するためのフレームワークの重要なセキュリティ機能について説明します。

フレームワークのカスタマイズ/拡張:カスタム機能を追加する方法。 フレームワークのカスタマイズ/拡張:カスタム機能を追加する方法。 Mar 28, 2025 pm 05:12 PM

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

PHPのCurlライブラリを使用してJSONデータを含むPOSTリクエストを送信する方法は? PHPのCurlライブラリを使用してJSONデータを含むPOSTリクエストを送信する方法は? Apr 01, 2025 pm 03:12 PM

PHP開発でPHPのCurlライブラリを使用してJSONデータを送信すると、外部APIと対話する必要があることがよくあります。一般的な方法の1つは、Curlライブラリを使用して投稿を送信することです。

See all articles