PHP入门学习笔记

本文介绍了PHP语言的一些特点,包括字符串处理、数组操作、作用域规则等,并对比了PHP与其它语言的不同之处。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

做完西邮成绩这个项目后想要把前端的学习放放,一个学前端的如果没有接触过后台的学习那就太不合格了,所以我决定从PHP入手学习。为什么选择PHP呢?后台开发的语言有很多PHP,node.js,Java等,但是相对于初学者来说PHP比较好入门一点,它是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。所以下来我讲一下自己整理的PHP比较特殊的地方。

1.” “与’ ‘

PHP允许我们在双引号串中直接包含字串变量,而单引号串中的内容总被认为是普通字符。例如:

     $str='hello,world';
     echo "str is $str"; //运行结果: str is hello,world
     echo 'str is $str'; //运行结果: str is $str

2.->与=>

在PHP里面->和=>完全不同的,->用来引用对象的成员(属性与方法),=>只用来数组赋值。例如:
关联数组:

     $arr = array('a' => 'apple', 'b' => 'banana');
     foreach ($arr as $key => $value) {
        echo "key:".$key.' '.'value:'.$value.'<br>';
     }

类与对象:

     class Person{
        public $name = "csdn";
    }
    $per = new Person();
    echo $per->name;

3.数据类型

PHP中与其他编程语言一致都具有像整型,浮点型,布尔型等数据类型,这里我着重讲一下整型与字符型。定义两个变量,数字1与字符‘1’,他们有什么区别呢?在c语言中,数字1就代表1,但是字符1代表了在ascii码表中序号为1的字符。我们看看在PHP中他们之间的区别和联系:

    $a = 1;
    $b = '1';
    echo var_dump($a).'<br>';//int 1
    echo var_dump($b).'<br>';//string '1' (length=1)
    echo 1+$a.'<br>';//2
    echo 2+$b;//3

在PHP语言中,字符型的数据也能进行数据运算,我们看看c语言的效果:

  #include <stdio.h>
  int main(){
    int a = 1;
    char b = '1';
    printf("%d\n",a+1);//2
    printf("%d\n",b+2);//51
    return 0;
}

为什么是51嘞?那是因为数字1的ascii码为49,加上2自然是51啦。那js里的效果呢?

    var a = 1,b = '1';
    console.log(1 + a + '\n');//2
    console.log(2 + b);//21

三种语言的不同的结果真的是让人很费解,他们为啥结果不同呢?对此我还没有细细研究过,只是觉得很神奇。

4.函数作用域

在PHP语言中函数作用域有一个法则:作用域不重叠。(全局不能访问局部,局部不能访问全局) 。其中,对于全局不能访问局部数据我们可以理解,但是局部怎么不能访问全局呢?来,上代码:

     $a = 0;
     function lovePhp(){ 
        $a = $a + 10;
      }
      lovePhp();
      echo $a;//程序报错
    ?>

PHP有两种作用域,全局与局部,既然作用域不重叠,那么就是这个道理吧。那么怎么解决呢?

     $a = 0;
     function lovePhp(){ 
        global $a;
        $a = $a + 10;
      }
      lovePhp();
      echo $a;//10
    ?>

使用关键字“global”你就可以把全局数据导入到一个函数的局部范围内。下面介绍一种比较特殊的玩意——超全局变量。
超全局变量是指在全部作用域中始终可用的内置变量。PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 global + 变量就可以访问它们。
这些超全局变量是:

  • $_GLOBALS
  • $_SERVER
  • $_REQUEST
  • $_POST
  • $_GET
  • $_FILES
  • $_ENV
  • $_COOKIE
  • $_SESSION
    接下来看一下具体超全局变量是怎么用的。
    $x = 75; 
    $y = 25;
    function addition() { 
      $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y']; 
    }
    addition(); 
    echo $z; //100

5.字符串

PHP中的字符串和js里的有点区别,比如简单的连接符,js用的是”+”但是PHP中用的就是”.”。PHP中一个字符串 通过下面的3种方法来定义:

  • 单引号
  • 双引号
  • heredoc语法结构
    单引号,双引号,此前已介绍过,现在我们说说什么是heredoc语法。
    php 中的 heredoc技术是php用来引用字符串的一种方式。语法:
  • 使用操作符 “<<<”
  • 操作符后紧跟标识符(开始标识符),之后重起新的一行 输入要引用的字符串,可以包含变量。
  • 新的一行,顶格写结束表示符,以分号结束。
    要注意到几点:
    a.标识符可以自定义 一般的 有EOT ,EOD EOF 等, 只有保持开始表示符和结束表示符一样即可。
    b.结束表示符必须独占一行,且必须顶格写,最后以 ‘;’ 分号结尾。
    c.所有引用的字符串中可以包含变量,无需字符串连接符。
    代码如下:
    $v=2;
    $a= <<<EOF
    "abc"$v
    "123"
EOF;
echo $a;//"abc"2 "123"

位于开始标记和结束标记之间的变量可以被正常解析,常用在输出包含大量HTML语法d文档的时候。

6.数组

PHP数组中有三种形式:

  • 索引数组 - 带有数字索引的数组
  • 关联数组 - 带有指定键的数组
  • 多维数组 - 包含一个或多个数组的数组
    其中索引,多维数组很常见,但是关联数组却不常见,但在PHP中却很常用,我们现在来好好研究一下它。所谓关联数组,表面字义上就是有关联的数组,的确,数组通过key与其对应的value值进行联系。现在看看它的创建:
   $arr = array('apple'=>"苹果",'banana'=>"香蕉",'pineapple'=>"菠萝");

或者是

   $arr['apple'] = "苹果";
   $arr['banana'] = "香蕉";
   $arr['pineapple'] = "菠萝";

关联数组的遍历:

   $arr = array('apple'=>"苹果",'banana'=>"香蕉",'pineapple'=>"菠萝");
   foreach ($arr as $key => $value) {
    echo "key: ".$key."  "."value: ".$value."<br>";
    }
    //key: apple value: 苹果
    //key: banana value: 香蕉
    //key: pineapple value: 菠萝

这些都是我简单总结的一些小知识点,PHP的确是初学者接触后台的一个好语言,不过还是得费心思去学,接下来先做些小demo尝试自己写,奋斗吧,骚年!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值