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更快速地执行动态网页。用php做出的动态页面与其他的编程语言相比,php是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成html标记的CGI要高许多;php还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

    2. php和html,配置php环境

  2. php语法支持html语法,可以在php的代码之中完美的嵌套标签语言。PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成htmL标记的CGI要高许多。
  3. 跟着网上教程学会了php环境的配置,并成功运行第一个php文件。
    1. 基础php:
      echo,print,strings,arithmetic,variables,semicolons,comments
  4. 了解echo和print的区别:echo可以输出多个值,每个值之间用逗号隔开,而print只能输出一个值。
  5. 在输出string类型时,echo和print均可,多个字符串连接在一起时可用英式点即”.”相连。
  6. arithmetic即在输出时支持算术运算,比如echo 2 * 3;,即将输出6。
  7. variables,php的变量没有类型而言,换句话说即时自动匹配类型,定义方式类似$name = “wsy”;,即每个变量名之前只需要加一个$符号,剩下为自己定义的名字即可。变量在被初次赋值后才被定义,所以不需要$name;如此定义变量。
  8. 每条php语句都需要以分号结尾,这点与C/C++一样
  9. comments,注释也与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;}
      Copier après la connexion

      相比于普通的写法,php还提供了另外一种的写法,这种写法省去了花括号。

      switch ($a) :	case 1:		echo 1;		break;	default:		echo 2;endswitch;
      Copier après la connexion
  11. php数组

    1. 数组的定义

      因为php对于变量是自动匹配类型,则php的数组对于不同类型的变量也是一视同仁,即php的数组可以添加任何类型的变量在一个数组当中。
      $a = array(“Tom”, “Jim”, 1, 2);
      如此定义了一个名为a的数组,含有4个元素,2个string类型,2个数字类型。

    2. 数组元素的获取,[],{}

      通过数组下标(同C/C++也是从0开始)来访问数组的元素有2种方法,一个是用[],另一个是用{}。这2个方法是一样的,不管用哪种方法都可以访问数组元素。

      echo $a[2];  //输出1echo $a{1};  //输出Jim
      Copier après la connexion
    3. 数组元素的修改

      php支持对数组元素的修改,修改方法即通过[]或者{}访问对应的数组元素,然后将其赋予新的值即可。

      $a[1] = “TTT”;echo $a{1};  //输出TTT,因为已经修改了。
      Copier après la connexion
    4. 数组元素的删除

      php支持对数组中某个元素的删除或对整个数组的删除的功能。通过unset();即可删除对应的元素。

      unset($a[1]);  //删除了数组中的第二个元素,现在数组包含Tom,1,2unset($a);  //删除了整个数组
      Copier après la connexion
  12. php循环

    1. **`for`循环**
      Copier après la connexion

      php中的for循环与C/C++相似,支持++操作符,但不支持+=,所以对于不是+1的循环,需要写成$i = $i + 3;

      for ($i = 0; $i <= 100; $i = $i + 10) {	//……}
      Copier après la connexion
    2. **`foreach`循环**
      Copier après la connexion

      当需要循环整个数组时,写for循环可能会过于繁琐,所以php提供了一种特殊的循环方法,即foreach循环。写法如下:

      $a = array(“Tom”, “Jim”, 1, 2, 3);foreach ($a as $i) {	echo $i;}
      Copier après la connexion

    这样就可以将php数组中的所有元素都输出了。
    foreach (数组名 as 变量名),接下来对于数组中每个元素操作即对用户自己取变量名的变量操作即可,但不支持修改功能,类似与C/C++中的传值与传址的区别。

    1. **`while`循环,`endwhile`**
      Copier après la connexion

      php中的while循环有2种写法,普通的写法是都所知道的。

      while () {	//……}
      Copier après la connexion

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

      while ():	//……endwhile;
      Copier après la connexion

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

    2. **`do-while`循环**
      Copier après la connexion

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

      do {	//……} while ();
      Copier après la connexion

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

    3. **循环嵌套**
      Copier après la connexion

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

  13. php函数(1)

    1. 关于字符串的相关函数

      strlen(string)substr(string, start, length)strtoupper(string)strtolower(string)strpos(string, string)
      Copier après la connexion

      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
      Copier après la connexion
    2. **关于数学的相关函数**
      Copier après la connexion
      round(number(, n))rand(min, max)
      Copier après la connexion

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

    3. **关于数组的相关函数** 
      Copier après la connexion
      array_push(array, number/string)count(array)sort(array)rsort(array)join(string,array)
      Copier après la connexion

      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
      Copier après la connexion
  14. **php函数(2)**
    Copier après la connexion
    1. **自定义函数**
      Copier après la connexion

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

      function Template() {	//……}
      Copier après la connexion

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

    2. **带形参的自定义函数**
      Copier après la connexion

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

      function aboutMe($name, $age) {	echo "Hello! My name is " . $name . ", and I am " . $age . " years old.";}
      Copier après la connexion

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

    3. **自定义函数的返回值**
      Copier après la connexion

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

      function returnName() {	return "wsy";}
      Copier après la connexion

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

  15. **php对象(1)**
    Copier après la connexion
    1. **类的定义、对象的定义**
      Copier après la connexion

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

      class Dog {		public $name;		public $numLegs = 4;		//可以定义公有成员,可以对其赋值也可以对其不赋值		//……}
      Copier après la connexion

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

      echo $dog->numLegs;//name因为未赋值,若要输出name的话,则不会输出任何东西。
      Copier après la connexion
    2. **构造器的定义及调用**
      Copier après la connexion

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

      class Dog {	public $name;	public $numLegs = 4;	public function __construct($name) {		//构造器可以带形参也可以不带形参		$this->name = $name;		//若要对类内成员赋值,需用$this->成员名 的形式赋值。	}	//……}
      Copier après la connexion

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

      $dog = new Dog(“Tom”);echo $dog->name;//输出Tom。
      Copier après la connexion
    3. **方法的定义及调用**在类内可以自定义方法。
      Copier après la connexion
      class Dog {	public $name;	public $numLegs = 4;	public function __construct($name) {		$this->name = $name;	}	public function greet() {		//方法可以带形参也可以不带		return “Hello, my name is ” . $name . “.”;		//方法可以有返回值也可以没有	}	//……}
      Copier après la connexion

      方法的调用类似公有成员的调用,()不可省略。

      $dog = new Dog(“Tom”);echo $dog->greet();//输出Hello, my name is Tom.
      Copier après la connexion
  16. **php对象(2)**
    Copier après la connexion
    1. **类的继承**
      Copier après la connexion

      php支持类的继承。

      class Shape {public $hasSides = true;}class Square extends Shape {            	//Square类继承了Shape类}
      Copier après la connexion

      通过property_exists()函数可以查看某个类是否包含某个方法或者私有成员。

      $square = new Square();if (property_exists($square, "hasSides")) {	echo "I have sides!";}//有输出,输出I have sides!
      Copier après la connexion

      php的类继承与C++中的类继承一样,子类会继承父类的所以公有成员和方法。

    2. **重写父类方法,`final`**
      Copier après la connexion

      php支持在子类中重写父类中的方法,并且在调用时调用的为子类重写后的方法。

      class Vehicle {	public function honk() {		return "HONK HONK!";	}}class Bicycle extends Vehicle {	public function honk() {		//父类方法的重写		return "Beep beep!";	}}
      Copier après la connexion

      调用子类方法

      $bicycle = new Bicycle();echo $bicycle->honk();//将输出Beep beep!
      Copier après la connexion

      若想要在子类重写后,仍调用的为父类继承来的方法。只需在父类方法前增加final关键字。若将上面父类Vehicle中的honk方法改为如下形式,其他保持不变。

      final public function honk() {	//……}
      Copier après la connexion

      最终程序将输出HONK HONK!。

    3. **`const`和`::`**
      Copier après la connexion

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

      class Cat {	const numLegs = 4;	//不需要添加$符号}
      Copier après la connexion

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

      echo Cat::numLegs;//输出4
      Copier après la connexion
    4. **`static`**
      Copier après la connexion

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

      class Person {	public static $isAlive = "Yep!"	public static function greet() {		echo "Hello there!";	}}
      Copier après la connexion

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

      echo Person::$isAlive;//输出Yep!Person::greet();//输出Hello there!
      Copier après la connexion
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

<🎜>: Grow A Garden - Guide de mutation complet
3 Il y a quelques semaines By DDD
<🎜>: Bubble Gum Simulator Infinity - Comment obtenir et utiliser les clés royales
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Système de fusion, expliqué
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Comment déverrouiller le grappin
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel Java
1670
14
Tutoriel PHP
1274
29
Tutoriel C#
1256
24
Expliquez le hachage de mot de passe sécurisé dans PHP (par exemple, Password_Hash, Password_verify). Pourquoi ne pas utiliser MD5 ou SHA1? Expliquez le hachage de mot de passe sécurisé dans PHP (par exemple, Password_Hash, Password_verify). Pourquoi ne pas utiliser MD5 ou SHA1? Apr 17, 2025 am 12:06 AM

Dans PHP, Password_Hash et Password_verify Les fonctions doivent être utilisées pour implémenter le hachage de mot de passe sécurisé, et MD5 ou SHA1 ne doit pas être utilisé. 1) Password_hash génère un hachage contenant des valeurs de sel pour améliorer la sécurité. 2) Password_verify Vérifiez le mot de passe et assurez-vous la sécurité en comparant les valeurs de hachage. 3) MD5 et SHA1 sont vulnérables et manquent de valeurs de sel, et ne conviennent pas à la sécurité de mot de passe moderne.

PHP et Python: comparaison de deux langages de programmation populaires PHP et Python: comparaison de deux langages de programmation populaires Apr 14, 2025 am 12:13 AM

PHP et Python ont chacun leurs propres avantages et choisissent en fonction des exigences du projet. 1.Php convient au développement Web, en particulier pour le développement rapide et la maintenance des sites Web. 2. Python convient à la science des données, à l'apprentissage automatique et à l'intelligence artificielle, avec syntaxe concise et adaptée aux débutants.

PHP en action: Exemples et applications du monde réel PHP en action: Exemples et applications du monde réel Apr 14, 2025 am 12:19 AM

PHP est largement utilisé dans le commerce électronique, les systèmes de gestion de contenu et le développement d'API. 1) E-commerce: Utilisé pour la fonction de panier et le traitement des paiements. 2) Système de gestion du contenu: utilisé pour la génération de contenu dynamique et la gestion des utilisateurs. 3) Développement des API: Utilisé pour le développement de l'API RESTful et la sécurité de l'API. Grâce à l'optimisation des performances et aux meilleures pratiques, l'efficacité et la maintenabilité des applications PHP sont améliorées.

Comment fonctionne la résistance au type PHP, y compris les types scalaires, les types de retour, les types d'union et les types nullables? Comment fonctionne la résistance au type PHP, y compris les types scalaires, les types de retour, les types d'union et les types nullables? Apr 17, 2025 am 12:25 AM

Le type PHP invite à améliorer la qualité et la lisibilité du code. 1) Conseils de type scalaire: Depuis PHP7.0, les types de données de base sont autorisés à être spécifiés dans les paramètres de fonction, tels que INT, Float, etc. 2) Invite de type de retour: Assurez la cohérence du type de valeur de retour de fonction. 3) Invite de type d'union: Depuis PHP8.0, plusieurs types peuvent être spécifiés dans les paramètres de fonction ou les valeurs de retour. 4) Invite de type nullable: permet d'inclure des valeurs nulles et de gérer les fonctions qui peuvent renvoyer les valeurs nulles.

La pertinence durable de PHP: est-elle toujours vivante? La pertinence durable de PHP: est-elle toujours vivante? Apr 14, 2025 am 12:12 AM

PHP est toujours dynamique et occupe toujours une position importante dans le domaine de la programmation moderne. 1) La simplicité de PHP et le soutien communautaire puissant le rendent largement utilisé dans le développement Web; 2) sa flexibilité et sa stabilité le rendent exceptionnelle dans la gestion des formulaires Web, des opérations de base de données et du traitement de fichiers; 3) PHP évolue et optimise constamment, adapté aux débutants et aux développeurs expérimentés.

PHP et Python: différents paradigmes expliqués PHP et Python: différents paradigmes expliqués Apr 18, 2025 am 12:26 AM

PHP est principalement la programmation procédurale, mais prend également en charge la programmation orientée objet (POO); Python prend en charge une variété de paradigmes, y compris la POO, la programmation fonctionnelle et procédurale. PHP convient au développement Web, et Python convient à une variété d'applications telles que l'analyse des données et l'apprentissage automatique.

PHP et Python: exemples de code et comparaison PHP et Python: exemples de code et comparaison Apr 15, 2025 am 12:07 AM

PHP et Python ont leurs propres avantages et inconvénients, et le choix dépend des besoins du projet et des préférences personnelles. 1.Php convient au développement rapide et à la maintenance des applications Web à grande échelle. 2. Python domine le domaine de la science des données et de l'apprentissage automatique.

Comment empêchez-vous l'injection SQL en PHP? (Déclarations préparées, APD) Comment empêchez-vous l'injection SQL en PHP? (Déclarations préparées, APD) Apr 15, 2025 am 12:15 AM

L'utilisation de déclarations de prétraitement et l'APD dans PHP peut effectivement empêcher les attaques d'injection SQL. 1) Utilisez PDO pour vous connecter à la base de données et définir le mode d'erreur. 2) Créez des instructions de prétraitement via la méthode de préparation et transmettez des données à l'aide des espaces réservés et exécutez des méthodes. 3) Traitez les résultats de la requête et assurez la sécurité et les performances du code.

See all articles