热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PHP基础入门详解(一)【世界上最好用的编程语言】

简介---------PHP(超文本预处器)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP独特的语法混合了C、Ja

 

   简介

---------

 PHP(超文本预处器)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

 

   废话不多说↓↓↓↓↓↓↓

PHP网页基础

一、静态网站&动态网站

  1、静态网站:纯html页面,页面内容是固定不变的,没有与后台进行交互,没有数据库的支持;
  2、动态网页:页面的内容会根据后台交互的情况显示不同的内容,需要与后台服务器交互,需要数据库的支持。

二、支持动态网站的语言
  Java---JSP
  PHP----PHP
  asp----asp

三、常见的服务器
  Apache:Apache公司旗下服务器,用于解析PHP类网站。端口号:80
  Tomcat:Apache公司旗下的另一款服务器,用于解析JSP类的网站。端口号:8080

 

  Http协议的默认端口号是80,所以使用Apache服务器时无需输入端口,
  可以直接使用本地IP:127.0.0.1或 localhost

 

四、常见的数据库
  mysql,Access,Oracle,SQLServer……

  MySql是一款开源免费的数据库软件,数据存储量上要低于Oracle,但是执行效率上要高于Oracle。
  PHP系统通常配合MySql使用,但是PHP也支持链接几乎所有的主流浏览器。

五、B/S C/S
  B/S:浏览器/服务器结构。用户只需要通过浏览器即可访问的网站。大部分操作功能集中在后台服务器。
  C/S:客户端/服务器结构。用户需要安装客户端使用的程序。客户端可以分担一定的操作功能。

六、常见的开发PHP集成环境
  安装一个软件,内置多种开发需要的软件或语言环境
  Wamp:windows+Apache+mysql+PHP
  Lamp:Linux+Apache+mysql+PHP
  PHPStudy:
  APPServer:
  >>>PHP开发首选Linux系统,但是PHP能够友好的兼容各种操作系统。
  (Windows,Linux,Unix,MacOS……)

 

PHP入门基础

**PHP中"+"只有运算功能,没有连接功能。连接功能用"."连接
**关键词:PHP标记的种类、PHP中的指令分隔符、PHP中的变量、PHP中算false的情况、PHP中字符串的声明、PHP中的伪类型、PHP中的数据类型转换、PHP中判断类型、PHP中的输出语句、PHP中的常量

一、PHP标记的种类

PHP文件默认的语言依然是HTML代码,如果要在PHP文件中使用PHP语法,则必须要将PHP代码放到PHP语言标记中,PHP支持的语言标记有四种:
这是PHP官方的写法,也是我们主要采用的写法!
  >>> 注 :如果页面中,是纯PHP代码,则推荐省略结尾的写法"?>";
  原因:如果保留结束符,则在导入PHP文件时,会将文件最后多余的换行符都导入进来;
② 长标记风格。这种写法,总是被支持,但是我们不推荐使用。
短标记风格,默认不开启,需要修改php.ini文件中的"short_open_tag=on"才能使用。但是,这种写法与XML文件冲突,不推荐使用。
④ <% %> asp风格,默认不开启,需要修改php.ini文件中的"asp_tags=on"才能使用。但是,这种写法与asp文件、jsp文件都冲突,不推荐使用。

二、PHP中的指令分隔符
1、PHP中的“结构定义语句”(分支,循环,类,函数等{}结尾),不需要使用分号结尾。
2、PHP中的“功能执行语句”,不用{}结尾的,必须使用分号结尾。
3、特例:最后结束标签?>前的最后一条语句,可以省略分号。

三、PHP中的变量
1、PHP中的变量,声明与使用,必须用$开头。
2、PHP是一种弱类型语言!变量无需声明,直接给变量赋值即可,并且可以在后续赋值过程中随时修改变量的数据类型;
3、PHP中可以使用连等同时声明多个变量,而不能使用逗号分隔;eg:$a=$b=$c=10;
4、常用变量函数:
  unset();删除并释放变量;
  isset();检验变量是否设置;
  empty();检验变量是否为空(未设置或值为null都算空);
5、变量的命名:只能由数字,字母,下划线组成,开头不能是数字。而且,PHP中变量区分大小写!$name $Name $NAME 都是不同变量!但是,PHP内置函数或类名不区分大小写!echo EcHo 都是有效的!
6、PHP中的数据类型有8种:
  ·4种标量类型
  布尔型:Boolean 
  整型:Integer 
  浮点型:Float/Double 
  字符串:String
  ·2种复合类型
  数组:Array 
  对象:Object
  ·2种特殊类型
  资源:Resource 
  空:null
7、整型的范围:-(2^31-1) ~~~ +(2^31-1),超过这个范围,将自动转为浮点型。


四、PHP中的真假换算

1、Boolean类型: false为假 true为真
2、Integer类型: 0为假 非0为真
3、浮点 类型 : 0.0为假 非0.非0为真
4、字符串 类型: ""、"0"为假 其余全为真
5、Array类型: 空数组为假 其他为真
6、Object类型: 全为真。(只有PHP4版本中,空对象为假)
7、Null类型: 全为假
8、Resource: 类型 全为真

五、PHP中字符串的声明
PHP支持三种方式声明字符串:
1、' ':
2、" ":
3、<<<(定界符):
  $str = <<

  // 定界结束符必须定格写,而且一行中不能有任何其他内容,包括空格;
  // 定界标识符可以是任何字符,只要保证开始符合结束符一致即可;
  s; (定界符结束)

4、三种声明方式的区别:
 ①定界符功能,默认与双引号相同。(但是定界符中可以放双引号)
 ②单引号中,不能解析变量,而双引号、定界符都可以解析变量。
  注:双引号解析变量时,需注意变量名后需用"hahaha{$num}hahaha" "hahaha${num}hahaha"均可!
 ③单引号中可以放双引号,双引号中可以放单引号。但是不能放自身相同类型的引号。
 ④单引号中不能使用转义字符(除了单引号''本身,转义符\本身),双引号中可以使用转义字符。

六、PHP中的伪类型
伪类型:并不是一种真实存在的数据类型。它的存在,仅仅是告诉程序员可以是哪种,哪些数据类型,常用于撰写帮助文档时使用。
  mixed:代表参数可以是多种不同数据类型。
  Number:代表参数可以是Integer或者Float。
  callback:代表参数可以是一个回调函数。

七、PHP中的数据类型转换
1、自动类型转换:表示运算的时候,Boolean,Null,String等类型,会先自动转为Integer或Float类型
  null-->0
  true-->1
  false-->0
  String转非数值字符前的数字,
 没有的话转为0 "123a"-->123 "a123"-->0

2、强制类型转换:根据我们的需要,强制将变量转为其他类型的变量。

可以强制转换的类型如下:

  $新变量 = (新类型)$原变量; $str = (String)1;
  //新类型的名称,可以使用全拼,也可以使用缩写。Integer/int Boolean/bool都行。
①使用()声明新类型强转:
  (integer) (int) ---转换成整型
  (boolean) (bool) --- 转换成布尔型
  (float),(double),(real) --- 转换成浮点型
  (string) --- 转换成字符串
  (array) --- 转换成数组
  (object) --- 转换成对象
②使用setType();函数强转:
  bool setType(mixed var,String type);第一个参数表示任何类型的变量,第二个参数表示字符串类型的数据类型,返回值是Boolean类型,表示转换是否成功。
 以上两种转换的区别:
  第①种:是将转换之后的结果,赋给新变量;
  第②种:直接修改了原变量的数据类型。


八、PHP中判断数据类型的常用函数
  is_bool():判断是否是布尔型
  is_int()、is_integer()和is_long():判断是否为整型。
  is_float()、is_double()和is_real():判断是否为浮点型
  is_string():判断是否为字符串
  is_array():判断是否为数组
  is_object():判断是否为对象
  is_resource():判断是否为资源类型
  is_null():判断是否为null
  is_scalar():判断是否为标量
  is_numeric():判断是否是任何类型的数字和数字字符串
  is_callable():判断是否是有效的函数名

九、PHP中的输出语句
  echo "……";输出变量的值
  var_dump(num);输出变量的数据类型&值[&一些其他信息]
  print_r(arr);专门用于打印数组

//单行注释


/*
 * 多行注释
 */


/**
* 文档注释
*/


# 脚本注释
#echo"①形式";

十、PHP中的常量
1、常量的定义:bool define(String 常量名,mixed 常量值[,bool 是否区分大小写]);
2、常量的注意事项:
 ①常量定义,只能使用define()函数;
 ②常量名,原则上要求必须使用大写声明。而且必须不能带$符号($只能是变量);
 ③常量声明以后,默认全局范围有效。没有作用域之说。
 ④常量不但不能改,而且不能删!unset,setType等函数均无效
 ⑤常量默认区分大小写!!!但是,可以在声明常量时,将define第三个参数设为true,即可改为不区分大小写。
 ⑥常量必须使用define()定义后才能使用。如果使用未声明常量,则默认转为常量字符串。但是,会有警告。
  var_dump(NUM);-->String "NUM"
 ⑦常量的值只能是标量Boolean String Float Integer
3、可以使用echo constant("NUM");读取常量值!注意!!!
可以使用get_defined_constants(),获取所有已定义的常量!!包括系统自定义的N多个常量。

 

 


推荐阅读
  • PHP编程能开发哪些应用?
    导读:很多朋友问到关于PHP编程能开发哪些应用的相关问题,本文编程笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!本文目录一览: ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 如何用JNI技术调用Java接口以及提高Java性能的详解
    本文介绍了如何使用JNI技术调用Java接口,并详细解析了如何通过JNI技术提高Java的性能。同时还讨论了JNI调用Java的private方法、Java开发中使用JNI技术的情况以及使用Java的JNI技术调用C++时的运行效率问题。文章还介绍了JNIEnv类型的使用方法,包括创建Java对象、调用Java对象的方法、获取Java对象的属性等操作。 ... [详细]
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
  • Linux下安装免费杀毒软件ClamAV及使用方法
    本文介绍了在Linux系统下安装免费杀毒软件ClamAV的方法,并提供了使用该软件更新病毒库和进行病毒扫描的指令参数。同时还提供了官方安装文档和下载地址。 ... [详细]
  • PHP引用的概念和用法详解
    本文详细介绍了PHP中引用的概念和用法。引用是指不同的变量名访问同一个变量内容,类似于Unix文件系统中的hardlink。文章从引用的定义、作用、语法和注意事项等方面进行了解释和示例。同时还介绍了对未定义变量使用引用的情况,以及在函数和new运算符中使用引用的注意事项。 ... [详细]
  • 201720181 20155339 《信息安全系统设计基础》第六周学习总结
    2017-2018-120155339《信息安全系统设计基础》第六周学习总结教材学习内容总结控制转移:从ak指令到a(k1)指令的过渡。控制转移序列称为处理器的控制流 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 本文介绍了Perl的测试框架Test::Base,它是一个数据驱动的测试框架,可以自动进行单元测试,省去手工编写测试程序的麻烦。与Test::More完全兼容,使用方法简单。以plural函数为例,展示了Test::Base的使用方法。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 【技术分享】一个 ELF 蠕虫分析
    【技术分享】一个 ELF 蠕虫分析 ... [详细]
  • Answer:Theterm“backslash”isonofthemostincorrectlyusedtermsincomputing.People ... [详细]
  • 深入理解计算机系统之链接(一)
    程序是怎样运行的写好的c程序怎样运行的呢?答案是一个写好的程序要先经过语言预处理器,编译器,汇编器和链接器生成最后的可执行文件,然后加载器将可执行文件加载到内存中才能运行。这里以一 ... [详细]
  • Linux下ODBC安装配置
    Linux下ODBC安装配置ODBC原理ODBC是 ... [详细]
author-avatar
小染雪_647
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有