1、PHP 脚本在服务器上执行,然后向浏览器发送回纯 HTML 结果。

2、基础 PHP 语法

  1)PHP 脚本可放置于文档中的任何位置。

  2)PHP 脚本以 <?php 开头,以 ?> 结尾。

  3)PHP 文件的默认文件扩展名是 ".php"。

  4)PHP 文件通常包含 HTML 标签以及一些 PHP 脚本代码。

  5)PHP 支持三种注释:

    // 这是单行注释
    # 这也是单行注释
    /*
    这是多行注释块
    它横跨了
    多行
    */

  6)PHP 语句以分号结尾(;)。PHP 代码块的关闭标签也会自动表明分号(因此在 PHP 代码块的最后一行不必使用分号)。

3、PHP 大小写敏感

  1)在 PHP 中,所有用户定义的函数、类和关键词(例如 if、else、echo 等等)都对大小写不敏感。

  2)所有变量都对大小写敏感。

  3)常量可定义为大小写敏感或者不敏感:

    define("常量名","常量值","false/true");//默认为false代表队大小写不敏感,true代表大小写敏感。

4、PHP数据类型

  PHP有数据类型,不过定义变量时不需要声明数据类型

  字符串:是字符序列,比如 "Hello world!"。字符串可以是引号内的任何文本,可以使用单引号或双引号。

  整数:整数是没有小数的数字。  

   整数规则:

  • 整数必须有至少一个数字(0-9)
  • 整数不能包含逗号或空格
  • 整数不能有小数点
  • 整数正负均可
  • 可以用三种格式规定整数:十进制、十六进制(前缀是 0x)或八进制(前缀是 0)

  eg:

  <?php
  $x = 5985;
  var_dump($x);//返回变量的数据类型和值
  $x = -345; // 负数
  var_dump($x);
  $x = 0x8C; // 十六进制数
  var_dump($x);
  $x = 047; // 八进制数
  var_dump($x);
  ?>

   运行结果:int(5985)int(-345)int(140)int(39)

  浮点数:浮点数是有小数点或指数形式的数字。

  eg:

   <?php
  $x = 10.365;
  var_dump($x);
  $x = 2.4e3;//覆盖了之前$x的值
  var_dump($x);
  $x = 8E-5;
  var_dump($x);
  ?>

  运行结果:float(10.365)float(2400)float(8.0E-5)

  逻辑:true 或 false。

  数组:数组在一个变量中存储多个值。

  对象:对象是存储数据和有关如何处理数据的信息的数据类型。(类的实例)

    在 PHP 中,必须明确地声明对象。

    首先我们必须声明对象的类。使用 class 关键词。类是包含属性和方法的结构。

    然后我们在对象类中定义数据类型,然后在该类的实例中使用此数据类型:

      类的声明:  

    class Car
    {
     var $color;
     function Car($color="green") {
      $this->color = $color;
     }
     function what_color() {
        return $this->color;
     }
    }

    function print_vars($obj) {
     foreach (get_object_vars($obj) as $prop => $val) {
      echo "\t$prop = $val\n";
     }
   }

   $herbie = new Car("white");// 实例化一个类,$herbie即是一个对象
   echo "\herbie: Properties\n";
   print_vars($herbie);//调用print_vars方法输出相应值

   运行结果:\herbie: Properties color = white

  NULL:特殊的 NULL 值表示变量无值。NULL 是数据类型 NULL 唯一可能的值。

    NULL 值标示变量是否为空。也用于区分空字符串与空值数据库。

    可以通过把值设置为 NULL,将变量清空:

5、变量

1)PHP 变量规则:

  • 变量以 $ 符号开头,其后是变量的名称
  • 变量名称必须以字母或下划线开头
  • 变量名称不能以数字开头
  • 变量名称只能包含字母数字字符和下划线(A-z、0-9 以及  _)
  • 变量名称对大小写敏感($y 与 $Y 是两个不同的变量)

  注释:PHP 变量名称对大小写敏感!

2)PHP 没有创建变量的命令。变量会在首次为其赋值时被创建。eg:$y=5;

3)PHP 是一门类型松散的语言,我们不必告知 PHP 变量的数据类型。PHP 根据它的值,自动把变量转换为正确的数据类型。

4)PHP 变量作用域

  在 PHP 中,可以在脚本的任意位置对变量进行声明。

  变量的作用域指的是变量能够被引用/使用的那部分脚本。

  PHP 有三种不同的变量作用域:

  • local(局部):函数内部声明的变量拥有 LOCAL 作用域,只能在函数内部进行访问。
  • global(全局):函数之外声明的变量拥有 Global 作用域,只能在函数以外进行访问。
  • static(静态)

注释:可以在不同的函数中创建名称相同的局部变量,因为局部变量只能被在其中创建它的函数识别。

6)PHP global 关键词

  global 关键词用于访问函数内的全局变量。

  要做到这一点,请在(函数内部)变量前面使用 global 关键词:

    <?php
    $x=5;
    $y=10;

    function myTest() {
      global $x,$y;//因为用了global关键字,代表访问的是全局变量$x,$y

      $y=$x+$y;
    }
    myTest();
    echo $y; // 输出 15
    ?>
  PHP 同时在名为 $GLOBALS[index] 的数组中存储了所有的全局变量。下标存有变量名。这个数组在函数内也可以访问,并能够用于直接更新全局变量。

    <?php
    $x=5;
    $y=10;

    function myTest() {
      $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];//所有的全局变量都存储在$GLOBALS['全局变量名']的数组内
    }    

    myTest();
    echo $y; // 输出 15
    ?>

7)PHP static 关键词

  通常,当函数完成/执行后,会删除所有变量。不过,有时我需要不删除某个局部变量。实现这一点需要更进一步的工作。

  要完成这一点,请在您首次声明变量时使用 static 关键词。

  每当函数被调用时,这个变量所存储的信息都是函数最后一次被调用时所包含的信息。

  注释:该变量仍然是函数的局部变量。

6、常量

  常量是单个值的标识符(名称)。在脚本中无法改变该值。

  有效的常量名以字符或下划线开头(常量名称前面没有 $ 符号)。

  注释:与变量不同,常量贯穿整个脚本是自动全局的。

7、两种基本的输出方法:echo 和 print。

  echo 和 print 之间的差异:

  • echo - 能够输出一个以上的字符串
  • print - 只能输出一个字符串,并始终返回 1

  提示:echo 比 print 稍快,因为它不返回任何值。

  eg:

  <?php

  $txt1="Learn PHP";

  $cars=array("Volvo","BMW","SAAB");

  echo "<h2>PHP is fun!</h2>";//输出字符串,可以包含html
  echo "Hello world!<br>";//输出一个字符串
  echo "This", " string", " was", " made", " with multiple parameters.";//可以输出多个字符串

  echo $txt1;//输出变量

  echo "My car is a {$cars[0]}";

  print "I'm about to learn PHP!";
  print $txt1;

  print "My car is a {$cars[0]}";
  ?>

 8、运算符

  1)PHP 算数运算符:+(加)、-(减)、*(乘)、/(除)、%(取余)

  2)PHP赋值运算符:=、+=、-=、*=、/=、%=

  3)PHP 字符串运算符:.(串接,$txt1 = "Hello" $txt2 = $txt1 . " world!" )、.=(串接赋值,$txt2 = "Hello" $txt2 . =" world!")。两个$txt2=="Hello world!”

  4)PHP 递增/递减运算符:++$x、$x++、--$x、$x--

  5)PHP 比较运算符:==(等于)、===(全等于(完全相同),如果被比较的双方相等,且它们类型相同,返回 true)、!=、<>、!==(不全等(完全不同))、>、<、>=、<=

  6)PHP 逻辑运算符:and、or、xor、&&、||、!

  7)PHP 数组运算符:+、==、===、!=、<>、!==

    eg:

    <?php
    $x = array("a" => "red", "b" => "green");
    $y = array("c" => "blue", "d" => "yellow");
    $z = $x + $y; // $x 与 $y 的联合
    var_dump($z);
    var_dump($x == $y);
    var_dump($x === $y);
    var_dump($x != $y);
    var_dump($x <> $y);
    var_dump($x !== $y);
    ?>

    运行结果:

    array(4) {  ["a"]=>  string(3) "red"  ["b"]=>  string(5) "green"  ["c"]=>  string(4) "blue"  ["d"]=>  string(6) "yellow" }
    bool(false)
    bool(false)
    bool(true)
    bool(true)

    bool(true)

php学习笔记——基础知识(1)的更多相关文章

  1. jQuery学习笔记 - 基础知识扫盲入门篇

    jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...

  2. three.js学习笔记--基础知识

    基础知识 从去年开始就在计划中的three.js终于开始了 历史介绍 (摘自ijunfan1994的转载,感谢作者) OpenGL大概许多人都有所耳闻,它是最常用的跨平台图形库. WebGL是基于Op ...

  3. SQLServer学习笔记<>.基础知识,一些基本命令,单表查询(null top用法,with ties附加属性,over开窗函数),排名函数

    Sqlserver基础知识 (1)创建数据库 创建数据库有两种方式,手动创建和编写sql脚本创建,在这里我采用脚本的方式创建一个名称为TSQLFundamentals2008的数据库.脚本如下:   ...

  4. Java Script 学习笔记 -- 基础知识

    Java script 概述 java Script 的简介 JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为 ...

  5. java虚拟机JVM学习笔记-基础知识

    最近使用开发的过程中出现了一个小问题,顺便记录一下原因和方法--java虚拟机 媒介:JVM是每一位从事Java开发工程师必须翻越的一座大山! JVM(Java Virtual Machine)JRE ...

  6. hadoop学习笔记——基础知识及安装

    1.核心 HDFS  分布式文件系统    主从结构,一个namenoe和多个datanode, 分别对应独立的物理机器 1) NameNode是主服务器,管理文件系统的命名空间和客户端对文件的访问操 ...

  7. php学习笔记——基础知识(2)

    9.PHP语句 if 语句 - 如果指定条件为真,则执行代码 if...else 语句 - 如果条件为 true,则执行代码:如果条件为 false,则执行另一端代码 if...else if.... ...

  8. Redux学习笔记-基础知识

      Redux概述 是什么:Redux是管理状态的容器,提供可预测的状态管理. 怎么做:Redux主要是用来管理组件或者应用的状态,本质上跟一个事件处理器差不多.通过分发action触发reduce来 ...

  9. GO Lang学习笔记 - 基础知识

    Go lang Learn Note 标签(空格分隔): Go Go安装和Go目录 设置环境变量GOROOT和GOPATH,前者是go的安装目录,后者是开发工作目录.go get包只会将包下载到第一个 ...

随机推荐

  1. C语言面试问答5

    12个滑稽的C语言面试问答——<12个有趣的C语言问答>评析(5) 前文链接:http://www.cnblogs.com/pmer/archive/2013/09/17/3327262. ...

  2. socket网络编程快速上手(二)——细节问题(5)(完结篇)

    6.Connect的使用方式 前面提到,connect发生EINTR错误时,是不能重新启动的.那怎么办呢,是关闭套接字还是直接退出进程呢?如果EINTR前,三次握手已经发起,我们当然希望链路就此已经建 ...

  3. EasyUI DataGrid及Pagination

    接上一篇EasyUI项目驱动学习 DataGrid数据表格及Pagination分页一起介绍 一.通过<table>标记创建DataGrid,嵌套<th>标签定义列表 < ...

  4. 目标HttpController在ASP.NET Web API中是如何被激活的:目标HttpController的创建

    目标HttpController在ASP.NET Web API中是如何被激活的:目标HttpController的创建 通过上面的介绍我们知道利用HttpControllerSelector可以根据 ...

  5. web前端安全---读书笔记

    web前端安全---读书笔记 粗略的看完了Web前端黑客技术揭秘前两章了,由于自身的前端功力不深,当然也是初涉前端的安全问题,所以实话还是有些问题看不太明白的.在豆瓣看到的这本书,名字真心有点很肥主流 ...

  6. C#跨窗体调用控件(委托回调函数使用例子)

    问题: 有两个窗体,FORM1(含一个label控件,一个名为显示form2的button控件)和FORM2(含一个button控件).启动时,FORM1中点击button控件显示form2使FORM ...

  7. mac系统及xcode使用的SVN客户端升级

    mac系统及xcode使用的SVN客户端升级 当前的SVN版本已经升级到1.8.x了,但mac系统自带的以及xcode使用的SVN客户端版本没有跟着升级,还是1.6.x的版本.为了解决隐藏目录.svn ...

  8. Bitmap的读写

    Bitmap的读写和几个小儿科的滤镜效果~ 闲来玩玩图像处理,拿破仑说过:“不想自己实现滤镜的美工不是好程序员~~#@!*^...#&!@......”  因为在学校做过很多美工的工作,而且从 ...

  9. C语言中判断int,long型等变量是否赋值的方法

    博主这段时间在写一些C程序的代码,由于以前对C不是了解很多,故遇到很多瓶颈,当然,其中也有很多有趣的方法可以利用以解决这些难题,下面这个问题就是博主遇到的一个麻烦. 声明了 int ,long 型等局 ...

  10. 线程androidAndroid ConditionVariable的用法

    查了好多资料,发现还是不全,干脆自己整理吧,至少保证在我的做法正确的,以免误导读者,也是给自己做个记录吧! 在Android开辟中,如果需要线程同步,可以使用Java系统库的wait()和notify ...