php学习笔记(二)

2023-04-14 574 0

PHP基础知识

一.变量

1.变量是用于存储信息的"容器";

2.PHP 变量规则:

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

3. PHP 变量的创建和使用

PHP 没有声明变量的命令。变量在第一次赋值时候被创建;

PHP 是一门弱类型语言,不必向 PHP 声明该变量的数据类型。PHP 会根据变量的值,自动把变量转换为正确的数据类型。

<?php
    //创建变量
    $name = 'Summer';
    $age = 25;
    echo $name;
    echo $age;
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>php嵌入html</title>
</head>
<body>
    <h1><?php  echo 'Hello world'; ?></h1>
    <!--使用创建变量-->
    <div><?php echo $name; ?></div>
    <div><?php echo $age; ?></div>
</body>
</html>

浏览器执行结果:

4. 变量覆盖

名称相同的情况下,后创建的变量会覆盖之前的变量:

<?php
    //创建变量
    $name = 'Summer';
    $age = 25;
    $name = 'Jeff';
    echo $name;
    echo $age;
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>php嵌入html</title>
</head>
<body>
    <h1><?php  echo 'Hello world'; ?></h1>
    <!--使用创建变量-->
    <div><?php echo $name; ?></div>
    <div><?php echo $age; ?></div>
</body>
</html>

浏览器执行结果:

二.常量

1.常量是一个简单值的标识符,常量值被定义后,在脚本的其他任何地方都不能被改变。

2.常量名称规则

  • 一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。 (常量名不需要加 $ 修饰符)。

3.常量定义

设置常量,使用 define() 函数:

define( name, value, case_insensitive );
// name 常量名称
// value 常量值
// case_insensitive 如果设置为 TRUE,该常量则大小写不敏感,默认是大小写敏感的。

注意:自 PHP 7.3.0 开始,定义不区分大小写的常量已被弃用。从 PHP 8.0.0 开始,只有 false 是可接受的值,传递 true 将产生一个警告。

<?php
   //定义常量
   define('NAME','Summer');
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>php嵌入html</title>
</head>
<body>
    <!--使用定义的变量-->
    <div><?php echo NAME; ?></div>
</body>
</html>

浏览器执行结果:

4.常量在定义后,默认是全局变量,可以在整个运行的脚本的任何地方使用。

三.注释

  • 单行注释 //
  • 多行注释 /* */
<?php
    // 单行注释
    /*
    多行
    注释
    */
?>

四.php数据类型

PHP 支持以下几种数据类型:

  • String(字符串)
  • Integer(整型)
  • Float(浮点型)
  • Boolean(布尔型)
  • Array(数组)
  • Object(对象)
  • NULL(空值)
  • Resource(资源类型)

1.php字符串

一个字符串是一串字符的序列,可以将任何文本放在单引号和双引号中。双引号中可以直接使用变量,但是单引号不行。

<?php
   $name = 'liming';
   $hobby = "footboll";
   echo $name;
?>

2.php整型

整数是一个没有小数的数字。

整数规则:

  • 整数必须至少有一个数字 (0-9)
  • 整数不能包含逗号或空格
  • 整数可以是正数或负数
  • 整型可以用三种格式来指定:十进制, 十六进制( 以 0x 为前缀)或八进制(前缀为 0)。
<?php
   $a = 123;
   echo $a; //123
   $b = -123;
   echo $b; //-123
   $c = 0x8C;
   echo $c; //140
   $d = 047;
   echo $d; //39
   var_dump($a); //int(123)
   var_dump($b); //int(-123)
   var_dump($c); //int(140)
   var_dump($d); //int(39)
?>

注:PHP var_dump() 函数返回变量的数据类型和值; 只获取数据类型:gettype()

3.php 浮点型

浮点数是带小数部分的数字,或是指数形式。e和E是计算机中科学计数法的表示符号,代表的是10的幂

<?php
   $a = 10.23;
   echo $a; //10.23
   $b = 2.3e3;
   echo $b; //2300
   $c = 2E-3;
   echo $c; //0.002
   var_dump($a); //float(10.23)
   var_dump($b); //float(2300)
   var_dump($c); //float(0.002)
?>

4.数组

1)索引数组(数值数组):带有数字索引的数组

  • 创建数组:A. 通过 方括号[] 创建数组;B. 通过array()函数创建数
  • print_r( )方法读取数组内容
  • 覆盖/重写
  • 在数组末尾添加数据:A. 通过[];B. 通过array_push(arr,val) 函数
  • 数组末尾数据删除 array_pop( );
  • 数组长度(元素数量) count( )函数
  • 数组合并 array_merge(arr1, arr2, ...);
<?php
    //索引数组
    $fruitOne = ['apple','orange','peach'];
    $name = 'Summer';
    //方括号访问某个元素
    echo $name[1]; //
    echo $fruitOne[1]; //orange

    //array()函数
    $fruitTwo = array('lemon','mango');
    echo $fruitTwo[0]; //lemon

    //print_r()读取数组内容
    $price = [10,15,20,25];
    print_r($price); //Array ( [0] => 10 [1] => 15 [2] => 20 [3] => 25 )

    //覆盖/重写
    $price[1] = 30;
    print_r($price); //Array ( [0] => 10 [1] => 30 [2] => 20 [3] => 25 )

    //数组末尾添加
    $price[] = 5;
    print_r($price); //Array ( [0] => 10 [1] => 30 [2] => 20 [3] => 25 [4] => 5 )

    //函数array_push() 数组,值
    array_push($price, 40);
    print_r($price); //Array ( [0] => 10 [1] => 30 [2] => 20 [3] => 25 [4] => 5 [5] => 40 )

    //末尾删除 array_pop()
    array_pop($price);
    print_r($price); //Array ( [0] => 10 [1] => 30 [2] => 20 [3] => 25 [4] => 5 )

    //count() 返回数组长度(元素的数量)
    echo count($price);

    //数组合并 array_merge() 
    $fruitThree = array_merge($fruitOne,$fruitTwo);
    print_r($fruitThree); //Array ( [0] => apple [1] => orange [2] => peach [3] => lemon [4] => mango )
?>

2)关联数组:带有键值对的数组

<?php 
    //关联数组 - 带有键值对的数组
    $colorOne = ['apple' => 'red', 'peach' => 'pink', 'lemon' => 'yellow'];
    echo $colorOne['apple']; // red
    print_r($colorOne); // Array ( [apple] => red [peach] => pink [lemon] => yellow )

    //array()函数创建数组
    $colorTwo = array('orange' => 'orange', 'grape' => 'purple');
    print_r($colorTwo); //Array ( [orange] => orange [grape] => purple )
    
    //数组末尾添加
    $colorTwo['watermelon'] = 'green';
    print_r($colorTwo); //Array ( [orange] => orange [grape] => purple [watermelon] => green )

    //返回数组长度
    echo count($colorTwo); //3

    //数组合并
    $colorThree = array_merge($colorOne, $colorTwo);
    print_r($colorThree);//Array ( [apple] => red [peach] => pink [lemon] => yellow [orange] => orange [grape] => purple [watermelon] => green )
?>

3)多维数组:包含一个或者多个数组的数组

<?php 
    //多维数组:包含一个或者多个数组的数组
    //索引多维数组
    $posts = [
        ['post one', 'Summer', 'lorem', 20],
        ['post two', 'Lucy', 'lorem', 30],
        ['post three', 'Henry', 'lorem', 40]
    ];
    
    print_r($posts[0]); //Array ( [0] => post one [1] => Summer [2] => lorem [3] => 20 )
    echo $posts[0][0]; //post one

    //关联多维数组
    $posts2 = [
        ['title' => 'post one', 'author' => 'Summer', 'content' => 'lorem', 'likes' => 20],
        ['title' => 'post two', 'author' => 'Lucy', 'content' => 'lorem', 'likes' => 30],
        ['title' => 'post three', 'author' => 'Henry', 'content' => 'lorem', 'likes' => 40]
    ];
    print_r($posts2);
    print_r($posts2[2]); //Array ( [title] => post three [author] => henry [content] => lorem [likes] => 40 )
    echo $posts2[2]['author']; //Henry

    //数组长度
    echo count($posts2);

    //数组末尾添加数据
    $posts2[] = ['title' => 'post four', 'author' => 'Jeff', 'content' => 'lorem', 'likes' => 50];
    print_r($posts2);

    //删除数组末尾数据
    $poped = array_pop($posts2);
    print_r($poped);
?>

5. 布尔类型

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

//布尔值
echo true; //1
echo false; //空

五.php运算符

1. 算术运算符

  • 加 + ,减 -,乘 *,除 /
  • 取余 %
  • 取反:~ , 按二进制位进行"取反"运算
  • 并置:· , 如:"hello" · "world" => helloworld

混合运算法则:PEMDAS。即:P:计算括号内的,E:计算指数,MD:乘除法,AS:加减法

2. 递增 / 递减运算符

  • 预递增 ++x,x 加 1,然后返回 x;
  • 预递减 --x,x 减 1,然后返回 x;
  • 后递增 x++,返回 x,然后 x 加 1;
  • 后递减 x--,返回 x,然后 x 减 1;
<?php
   $a = 10;
   echo ++$a; //11
   $b = 10;
   echo --$b; //9
   $c = 10;
   echo $c++; //10
   $d = 10;
   echo $d--; //10
?>

3.简写运算

  • +=,-=,*=
<?php 
    $age = 30;
    $age = $age + 5;
    $age += 5;
    echo $age; //40
?>

常用number类型方法

  • floor() 向下取整
  • ceil() 向上取整
  • pi() 返回圆周率 //3.1415926535898
<?php 
    $pi = 3.14;
    echo floor($pi); // 3
    echo ceil($pi); //4
    echo pi(); //3.1415926535898
?>

4.比较运算符

  • x == y 等于。
  • x === y 绝对等于。如果 x 等于 y,且它们类型相同,则返回 true
  • x != y 不等于。
  • x !== y 不绝对等于。
  • x > y 大于。
  • x < y 小于。
  • x >= y 大于等于。
  • x <= y 小于等于。
<?php 
    //比较运算符
    echo 1 < 5; //1
    echo 1 > 5; //
    echo 1 ==5; //
    echo 1 != 5; //1
    echo 1 >= 5; //
    echo 1 <= 5; //1


    echo 'Summer' > 'lucy'; //1
    echo 'Summer' < 'lucy';
    echo 'Summer' < 'summer'; //1
    echo 'summer' == 'summer'; //1
    echo 'Summer' == 'summer'; //


    echo 1 == '1'; //1
    echo 1 === '1'; //
    echo 1 === 1; //1

    echo true == '1'; //1
    echo false == ''; //1
    echo true === '1'; //
?>

六. php 循环

循环执行代码块指定的次数,或者当指定的条件为真时循环执行代码块。

1.for循环

如果提前确定循环执行的次数,可以使用for循环。

1).语法

for (初始值; 条件; 增量)
{
    要执行的代码;
}
//模板
$posts = [post1, post2, post3, post4, ...];

for($i = 0; $i < count($posts); $i++) {
    echo 'post template';
}

//例
for($i = 0; $i < count($posts); $i++) {
    echo $posts[$i];
}

2. foreach循环

用于遍历数组。如果不知道数组长度,可以使用foreach循环。

1)语法

foreach ($array as $value)
{
    要执行代码;
}
//模板
$posts = [post1, post2, post3, post4, ...];

foreach($posts as $post) {
    echo 'post template';
}
//例
foreach($posts as $post) {
    echo $post;
}
$products = [
    ['name' => 'apple', 'price' => 10],
    ['name' => 'peach', 'price' => 5],
    ['name' => 'mongo', 'price' => 15],
    ['name' => 'grape', 'price' => 20],
    ['name' => 'orange', 'price' => 8],
    ['name' => 'watermelon', 'price' => 4]
];

foreach($products as $product) {
    echo $product['name'] . '-' . $product['price'];
}

3. while循环

只要指定的条件成立,则循环执行代码块。

1)语法

while (条件)
{
    要执行的代码;
}
//例
$i = 0;
while($i < count($products)) {
    echo $products[$i]['name'];
    $i++;
}

4. do...while循环

do...while 语句会至少执行一次代码,然后检查条件,只要条件成立,就会重复进行循环。

do
{
    要执行的代码;
}
while (条件);

//例
$i = 0;
do {
    echo $products[$i]['name'] . '<br>';
    $i++;
}
while($i < count($products));

5.html中使用for循环

<?php 
    $products = [
        ['name' => 'apple', 'price' => 10],
        ['name' => 'peach', 'price' => 5],
        ['name' => 'mongo', 'price' => 15],
        ['name' => 'grape', 'price' => 20],
        ['name' => 'orange', 'price' => 8],
        ['name' => 'watermelon', 'price' => 4]
    ];
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<h1>Products</h1>
<ul>
    <?php foreach($products as $product) { ?>
    <h3><?php echo $product['name']?></h3>
    <p><?php echo $product['price']?></p>
    <?php } ?>
</ul>
<body>
</body>
</html>

相关文章

Laravel框架-环境配置
PHP面向对象
PHP学习笔记(六)
PHP学习笔记(五)
PHP学习笔记(四)
PHP学习笔记(三)

发布评论