PHP学习笔记(之篇一初识PHP)

一、认识PHP

PHP(Hypertext PreProcessor,即超文本预处理器),是一种通用的开源服务器端脚本语言。所以,PHP脚本在服务器上执行。

PHP文件是什么

  • PHP 文件可包含文本、HTML、JavaScript代码和 PHP 代码
  • PHP 代码在服务器上执行,结果以纯 HTML 形式返回给浏览器
  • PHP 文件的默认文件扩展名是 “.php”

PHP能做什么

  • PHP 可以生成动态页面内容
  • PHP 可以创建、打开、读取、写入、关闭服务器上的文件
  • PHP 可以收集表单数据
  • PHP 可以发送和接收 cookies
  • PHP 可以添加、删除、修改您的数据库中的数据
  • PHP 可以限制用户访问您的网站上的一些页面
  • PHP 可以加密数据

通过 PHP,您不再限于输出 HTML。您可以输出图像、PDF 文件,甚至 Flash 电影。您还可以输出任意的文本,比如 XHTML 和 XML。

为什么使用PHP

  • PHP 可在不同的平台上运行(Windows、Linux、Unix、Mac OS X 等)
  • PHP 与目前几乎所有的正在被使用的服务器相兼容(Apache、IIS 等)
  • PHP 提供了广泛的数据库支持
  • PHP 是免费的,可从官方的 PHP 资源下载它:www.php.net
  • PHP 易于学习,并可高效地运行在服务器端

二、PHP语法

PHP 脚本在服务器上执行,然后将纯 HTML 结果发送回浏览器。
PHP 脚本可以放在文档中的任何位置。
PHP 脚本以 ?php 开始,以 ? 结束:

<?php
  //PHP代码
?>

PHP 文件的默认文件扩展名是 “.php”。
PHP 文件通常包含 HTML 标签和一些 PHP 脚本代码。
下面,我们提供了一个简单的 PHP 文件实例,它可以向浏览器输出文本 “Hello World!”:

<!DOCTYPE html>
<html>
  <head>
    <title>我的第一个PHP代码</title>
  </head>

  <body>
    <?php
      echo "My First PHP Page!";
    ?>
  </body>
</html>

PHP 中的每个代码行都必须以分号结束。分号是一种分隔符,用于把指令集区分开来。
通过 PHP,有两种在浏览器输出文本的基础指令:echo 和 print。

//为PHP的单行注释
/*
PHP多行注释
PHP多行注释
*/

三、PHP变量

变量是用于存储信息的”容器”:
实例:

<?php
  $x = 5;
  $y = 6;
  $z = $x + $z;
  echo $z;
?>

与代数类似

x=5
y=6
z=x+y

在代数中,我们使用字母(如 x),并给它赋值(如 5)。
从上面的表达式 z=x+y ,我们可以计算出 z 的值为 11。
在 PHP 中,这些字母被称为变量。

PHP 变量

与代数类似,可以给 PHP 变量赋予某个值(x=5)或者表达式(z=x+y)。
变量可以是很短的名称(如 x 和 y)或者更具描述性的名称(如 age、carname、totalvolume)。

PHP 变量规则:

  • 变量以 $ 符号开始,后面跟着变量的名称
  • 变量名必须以字母或者下划线字符开始
  • 变量名只能包含字母数字字符以及下划线(A-z、0-9 和 _ )
  • 变量名不能包含空格
  • 变量名是区分大小写的

PHP 是一门弱类型语言
在上面的实例中,我们注意到,不必向 PHP 声明该变量的数据类型。
PHP 会根据变量的值,自动把变量转换为正确的数据类型。
在强类型的编程语言中,我们必须在使用变量前先声明(定义)变量的类型和名称。
PHP 变量作用域
变量的作用域是脚本中变量可被引用/使用的部分。
PHP 有四种不同的变量作用域:

  • local
  • global
  • static
  • parameter

局部和全局作用域
在所有函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,需要使用 global 关键字。

在 PHP 函数内部声明的变量是局部变量,仅能在函数内部访问:

<?php
  $x = 5;  //全局变量

  function myTest(){
    $y = 10;  //局部变量

    echo "<p>测试局部变量:<p>";
      echo "变量x为:$x";
      echo "<br>";
      echo "变量y为:$y";
  }
  myTest();

  echo "<p>测试全局变量:<p>";
  echo "变量x为:$x";
  echo "<br>";
  echo "变量y为:$y";

?>

运行结果:

测试局部变量:
变量 x 为:
变量 y 为: 10
测试全局变量:
变量 x 为: 5
变量 y 为:

在以上实例中 myTest() 函数定义了 $x$y变量。 $x变量在函数外声明,所以它是全局变量 ,$y变量在函数内声明所以它是局部变量。

当我们调用myTest()函数并输出两个变量的值, 函数将会输出局部变量 $y的值,但是不能输出 $x 的值,因为 $x变量在函数外定义,无法在函数内使用,如果要在一个函数中访问一个全局变量,需要使用 global 关键字。

然后我们在myTest()函数外输出两个变量的值,函数将会输出全局部变量$x的值,但是不能输出 $y的值,因为 $y变量在函数中定义,属于局部变量。

注:你可以在不同函数中使用相同的变量名称,因为这些函数内定义的变量名是局部变量,只作用于该函数内。

PHP global 关键字

global 关键字用于在函数内访问全局变量。
在函数内调用函数外定义的全局变量,我们需要在函数中的变量前加上 global 关键字:

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

    function myTest(){
        global $x, $y;
        $y = $x + $y;

    }

    myTest();
    echo $y;
    ?>

运行结果为:15

PHP 将所有全局变量存储在一个名为$GLOBALS[index]的数组中。 index 保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量。
上述代码可写为如下所示:

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

    function myTest(){
        $GLOBALS['y'] = $GLOBALS['x'] + $GLOBALS['y'];
    }

    myTest();
    echo $y;
    ?>

Static 作用域
当一个函数完成时,它的所有变量通常都会被删除。然而,有时候我们希望某个局部变量不要被删除。
要做到这一点,可以在第一次声明变量时使用 static 关键字:

<?php
    function myTest(){
        static $x = 0;
        echo $x;
        echo "<br>";
        $x++;
    }

    myTest();
    myTest();
    myTest();
    ?>

然后,每次调用该函数时,该变量将会保留着函数前一次被调用时的值。
注:该变量仍然是函数的局部变量。

参数作用域
参数是通过调用代码将值传递给函数的局部变量。
参数是在参数列表中声明的,作为函数声明的一部分:

<?php
  function myTest($x){
    echo $x;
  }

  myTest(55);
?>

四、 PHP echo/print

echo 和 print 语句
在 PHP 中有两个基本的输出方式: echo 和 print。
这里写图片描述
PHP echo 语句
echo 是一个语言结构,使用的时候可以不用加括号,也可以加上括号: echo 或 echo()。

显示字符串
下面的实例演示了如何使用 echo 命令输出字符串(字符串可以包含 HTML 标签):

<?php
  echo "<h2>PHP 很有趣!</h2>";
  echo "Hello World!<br>";
  echo "我要学PHP<br>";
  echo "这是一个字符串,", "使用了", "多个", "参数";
?>

运行结果:

PHP 很有趣!
Hello World!
我要学PHP
这是一个字符串,使用了多个参数

下面的实例演示了如何使用 echo 命令输出变量、数组和字符串:

<?php
  $txt = "Hello World";
  $URL = "https://blog.csdn.net/qq_36595013";
  $fruits = array("apple", "orange", "banana");;

  echo $txt;
  echo "<br>";
  echo "我的CSDN主页地址是:$URL";
  echo "<br>";
  echo "我每天都要吃一个{$fruits[0]}";
?>

运行结果是:

Hello World
我的CSDN主页地址是:https://blog.csdn.net/qq_36595013
我每天都要吃一个apple

PHP print 语句
print 同样是一个语言结构,可以使用括号,也可以不使用括号: print 或 print()。

显示字符串
下面的实例演示了如何使用 print 命令输出字符串(字符串可以包含 HTML 标签):

<?php
  print "Hello World!";
  print "<h2>PHP很有趣</h2>";
  print "我要学习PHP!"; 
?>

显示变量
下面的实例演示了如何使用 print 命令输出变量和字符串:

<?php
  $txt = "Hello World";
  $URL = "https://blog.csdn.net/qq_36595013";
  $fruits = array("apple", "orange", "banana");;

  print $txt;
  print "<br>";
  print "我的CSDN主页地址是:$URL";
  print "<br>";
  print "我每天都要吃一个{$fruits[0]}";
?>

五、PHP EOF(heredoc) 使用说明

这里写图片描述
PHP EOF(heredoc)是一种在命令行shell(如sh、csh、ksh、bash、PowerShell和zsh)和程序语言(像Perl、PHP、Python和Ruby)里定义一个字串的方法。

使用概述:

  1. 必须后接分号,否则编译通不过。
  2. EOF 可以用任意其它字符代替,只需保证结束标识与开始标识一致。
  3. 结束标识必须顶格独自占一行(即必须从行首开始,前后不能衔接任何空白和字符)。
  4. 开始标识可以不带引号或带单双引号,不带引号与带双引号效果一致,解释内嵌的变量和转义符号,带单引号则不解释内嵌的变量和转义符号。
  5. 当内容需要内嵌引号(单引号或双引号)时,不需要加转义符,本身对单双引号转义
  6. 位于开始标记和结束标记之间的变量可以被正常解析,但是函数则不可以。在heredoc中,变量不需要用连接符.或,来拼接
<?php
  echo <<<EOF
    <p>Hello World!</p>
    <h1>标题1<h1>
    "Hello!"
EOF;
?>

注意:
1. 以 <<<EOF 开始标记开始,以 EOF 结束标记结束,结束标记必须顶头写,不能有缩进和空格,且在结束标记末尾要有分号 。
2. 开始标记和结束标记相同,比如常用大写的 EOT、EOD、EOF 来表示,但是不只限于那几个(也可以用:JSON、HTML等),只要保证开始标记和结束标记不在正文中出现即可。
3. 位于开始标记和结束标记之间的变量可以被正常解析,但是函数则不可以。在 heredoc 中,变量不需要用连接符 . 或 , 来拼接,如下:

<?php
  $name = "王维";
  $like= <<<EOF
    "123"$name
    <br>
    "Hello World!"
EOF;

echo $like;    
?>

运行结果:

“123”王维
“Hello World!”

heredoc常用在输出包含大量HTML语法d文档的时候。比如:函数outputhtml()要输出HTML的主页。可以有两种写法。很明显第二种写法比较简单和易于阅读。

第一种

function outputhtml(){
    echo "<html>";
    echo "<head><title>主页</title></head>";
    echo "<body>主页内容</body>";
    echo "</html>;
}
第二种

function outputhtml()
{
    echo <<<EOT
    <html>
    <head><title>主页</title></head>
    <body>主页内容</body>
    </html>
EOT;
}
outputhtml();

六、PHP数据类型

数据类型


String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值)。


PHP 字符串
一个字符串是一串字符的序列,就像 “Hello world!”。
你可以将任何文本放在单引号和双引号中:

PHP 整型
整数是一个没有小数的数字。
整数规则:

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

在以下实例中我们将测试不同的数字。
PHPvar_dump()函数返回变量的数据类型和值:

<?php
  $x = 528;  //正数
  var_dump($x);
  echo "<br>";
  $y = -25;  //负数
  var_dump($y);
  echo "<br>";
  $z = 0x24;  //十六进制
  var_dump($z);
  echo "<br>";
  $w = 056; //八进制
  var_dump($w);
?>

结果为:

int(528)
int(-25)
int(36)
int(46)

PHP 浮点型
浮点数是带小数部分的数字,或是指数形式。
在以下实例中我们将测试不同的数字。 PHP var_dump() 函数返回变量的数据类型和值:

<?php
  $x = 3.14159;  
  var_dump($x);
  echo "<br>";
  $y = 3.2e3; 
  var_dump($y);
  echo "<br>";
  $z = 4E-5;  
  var_dump($z);
  echo "<br>";
?>

运行结果:

float(3.14159)
float(3200)
float(4.0E-5)

PHP 布尔型
布尔型可以是 TRUE 或 FALSE。布尔型通常用于条件判断。

$x = TRUE;
$y = FALSE;

PHP 数组

数组可以在一个变量中存储多个值。
在以下实例中创建了一个数组, 然后使用 PHP var_dump() 函数返回数组的数据类型和值:

<?php
  $fruits = array('apple', 'orange', 'banana');
  var_dump($fruits);
?>

运行结果:

array(3) {
[0]=>
string(5) “apple”
[1]=>
string(6) “orange”
[2]=>
string(6) “banana”
}

PHP 对象

对象数据类型也可以用于存储数据。
在 PHP 中,对象必须声明。
首先,你必须使用class关键字声明类对象。类是可以包含属性和方法的结构。
然后我们在类中定义数据类型,然后在实例化的类中使用数据类型:

<?php
  calss fruits
  {
    var $color;
      function _color($color = "green"){
        $this->color = $color;
      }
      function what_color{
        return $this->color;
      }
  }

?>

以上实例中PHP关键字this就是指向当前对象实例的指针,不指向任何其他对象或类。

PHP NULL 值

NULL 值表示变量没有值。NULL 是数据类型为 NULL 的值。
NULL 值指明一个变量是否为空值。 同样可用于数据空值和NULL值的区别。
可以通过设置变量值为 NULL 来清空变量数据:

<?php
  $x = 25;
  $x = null;
  var_dump($x);
?>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值