搜索

  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;}

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

      switch ($a) :	case 1:		echo 1;		break;	default:		echo 2;endswitch;
  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
    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的循环,需要写成$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 (数组名 as 变量名),接下来对于数组中每个元素操作即对用户自己取变量名的变量操作即可,但不支持修改功能,类似与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
PHP的当前状态:查看网络开发趋势PHP的当前状态:查看网络开发趋势Apr 13, 2025 am 12:20 AM

PHP在现代Web开发中仍然重要,尤其在内容管理和电子商务平台。1)PHP拥有丰富的生态系统和强大框架支持,如Laravel和Symfony。2)性能优化可通过OPcache和Nginx实现。3)PHP8.0引入JIT编译器,提升性能。4)云原生应用通过Docker和Kubernetes部署,提高灵活性和可扩展性。

PHP与其他语言:比较PHP与其他语言:比较Apr 13, 2025 am 12:19 AM

PHP适合web开发,特别是在快速开发和处理动态内容方面表现出色,但不擅长数据科学和企业级应用。与Python相比,PHP在web开发中更具优势,但在数据科学领域不如Python;与Java相比,PHP在企业级应用中表现较差,但在web开发中更灵活;与JavaScript相比,PHP在后端开发中更简洁,但在前端开发中不如JavaScript。

PHP与Python:核心功能PHP与Python:核心功能Apr 13, 2025 am 12:16 AM

PHP和Python各有优势,适合不同场景。1.PHP适用于web开发,提供内置web服务器和丰富函数库。2.Python适合数据科学和机器学习,语法简洁且有强大标准库。选择时应根据项目需求决定。

PHP:网络开发的关键语言PHP:网络开发的关键语言Apr 13, 2025 am 12:08 AM

PHP是一种广泛应用于服务器端的脚本语言,特别适合web开发。1.PHP可以嵌入HTML,处理HTTP请求和响应,支持多种数据库。2.PHP用于生成动态网页内容,处理表单数据,访问数据库等,具有强大的社区支持和开源资源。3.PHP是解释型语言,执行过程包括词法分析、语法分析、编译和执行。4.PHP可以与MySQL结合用于用户注册系统等高级应用。5.调试PHP时,可使用error_reporting()和var_dump()等函数。6.优化PHP代码可通过缓存机制、优化数据库查询和使用内置函数。7

PHP:许多网站的基础PHP:许多网站的基础Apr 13, 2025 am 12:07 AM

PHP成为许多网站首选技术栈的原因包括其易用性、强大社区支持和广泛应用。1)易于学习和使用,适合初学者。2)拥有庞大的开发者社区,资源丰富。3)广泛应用于WordPress、Drupal等平台。4)与Web服务器紧密集成,简化开发部署。

超越炒作:评估当今PHP的角色超越炒作:评估当今PHP的角色Apr 12, 2025 am 12:17 AM

PHP在现代编程中仍然是一个强大且广泛使用的工具,尤其在web开发领域。1)PHP易用且与数据库集成无缝,是许多开发者的首选。2)它支持动态内容生成和面向对象编程,适合快速创建和维护网站。3)PHP的性能可以通过缓存和优化数据库查询来提升,其广泛的社区和丰富生态系统使其在当今技术栈中仍具重要地位。

PHP中的弱参考是什么?什么时候有用?PHP中的弱参考是什么?什么时候有用?Apr 12, 2025 am 12:13 AM

在PHP中,弱引用是通过WeakReference类实现的,不会阻止垃圾回收器回收对象。弱引用适用于缓存系统和事件监听器等场景,需注意其不能保证对象存活,且垃圾回收可能延迟。

解释PHP中的__ Invoke Magic方法。解释PHP中的__ Invoke Magic方法。Apr 12, 2025 am 12:07 AM

\_\_invoke方法允许对象像函数一样被调用。1.定义\_\_invoke方法使对象可被调用。2.使用$obj(...)语法时,PHP会执行\_\_invoke方法。3.适用于日志记录和计算器等场景,提高代码灵活性和可读性。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用