游客

PHP零基础教程-第二课-数据类型与运算符

一言准备中...

一、回顾上节课内容

  1. PHP基本语法结构
  2. 变量的定义与使用
  3. echo和print输出内容

二、PHP数据类型详解

PHP是一种弱类型语言,但仍有8种基本数据类型:

1. 标量类型(4种)

(1) 整型(Integer)

<?php
    $a = 123;      // 十进制
    $b = -456;     // 负数
    $c = 0123;     // 八进制(以0开头)
    $d = 0x1A;     // 十六进制(以0x开头)

    echo "a的值是:$a";  // 双引号内变量会被解析
    echo 'a的值是:$a';  // 单引号内变量不会被解析
?>

(2) 浮点型(Float/Double)

<?php
    $price = 99.99;
    $scientific = 1.2e3;  // 1.2 × 10³ = 1200

    echo "价格:$price";
    echo "科学计数法:$scientific";
?>

(3) 字符串(String)

<?php
    $str1 = "双引号字符串";  // 可以解析变量和转义字符
    $str2 = '单引号字符串';  // 不解析变量和大多数转义字符

    // 字符串连接
    $name = "王五";
    $greeting = "你好," . $name . "!";
    echo $greeting;

    // 常用字符串函数
    echo strlen("Hello");  // 输出5
    echo strpos("Hello world", "world");  // 输出6
?>

(4) 布尔型(Boolean)

<?php
    $isTrue = true;
    $isFalse = false;

    if ($isTrue) {
        echo "这是真的";
    }
?>

2. 复合类型(2种)

(1) 数组(Array)

<?php
    // 索引数组
    $colors = array("红", "绿", "蓝");
    echo $colors[0];  // 输出"红"

    // 关联数组
    $person = array(
        "name" => "张三",
        "age" => 25,
        "gender" => "男"
    );
    echo $person["name"];  // 输出"张三"
?>

(2) 对象(Object)

<?php
    class Person {
        public $name;
        public $age;

        public function sayHello() {
            echo "你好,我是$this->name";
        }
    }

    $p = new Person();
    $p->name = "李四";
    $p->age = 30;
    $p->sayHello();
?>

3. 特殊类型(2种)

(1) 空值(Null)

<?php
    $var = null;
    if (is_null($var)) {
        echo "变量是空的";
    }
?>

(2) 资源(Resource)

<?php
    $file = fopen("test.txt", "r");  // $file是资源类型
    // 文件操作...
    fclose($file);
?>

三、运算符

1. 算术运算符

<?php
    $a = 10;
    $b = 3;

    echo $a + $b;  // 13
    echo $a - $b;  // 7
    echo $a * $b;  // 30
    echo $a / $b;  // 3.333...
    echo $a % $b;  // 1 (取余)
    echo $a ** $b; // 1000 (幂运算,PHP5.6+)
?>

2. 赋值运算符

<?php
    $x = 10;
    $x += 5;  // $x = $x + 5;
    $x -= 3;  // $x = $x - 3;
    $x *= 2;  // $x = $x * 2;
    $x /= 4;  // $x = $x / 4;
    $x %= 3;  // $x = $x % 3;
?>

3. 比较运算符

<?php
    $a = 5;
    $b = "5";

    var_dump($a == $b);   // true (值相等)
    var_dump($a === $b);  // false (值和类型都相等)
    var_dump($a != $b);   // false
    var_dump($a !== $b);  // true
    var_dump($a > $b);    // false
    var_dump($a < $b);    // false
    var_dump($a >= $b);   // true
    var_dump($a <= $b);   // true
?>

4. 逻辑运算符

<?php
    $x = true;
    $y = false;

    var_dump($x and $y);   // false
    var_dump($x or $y);    // true
    var_dump($x && $y);    // false (和and相同,但优先级更高)
    var_dump($x || $y);    // true (和or相同,但优先级更高)
    var_dump(!$x);         // false
    var_dump($x xor $y);   // true (只有一个为true时返回true)
?>

5. 字符串运算符

<?php
    $str1 = "Hello";
    $str2 = "World";

    echo $str1 . " " . $str2;  // "Hello World"

    $str1 .= " PHP";  // $str1 = $str1 . " PHP";
    echo $str1;       // "Hello PHP"
?>

四、类型检测与转换

1. 类型检测

<?php
    $var = "123";

    echo is_int($var);     // false
    echo is_string($var);  // true
    echo is_bool($var);    // false
    echo is_array($var);   // false
    echo is_float($var);   // false
?>

2. 类型转换

<?php
    // 自动转换
    $sum = "10" + 5;  // 结果为15

    // 强制转换
    $num = "123";
    $intNum = (int)$num;
    $floatNum = (float)$num;
    $strNum = (string)$intNum;

    // 使用函数转换
    $intVal = intval("456");
    $floatVal = floatval("78.9");
    $strVal = strval(123);
?>

五、作业练习

  1. 创建一个包含不同类型变量的数组,并输出每个变量的值和类型
  2. 编写一个计算器程序,能计算两个数的加、减、乘、除、取余
  3. 创建一个学生信息的关联数组,包含姓名、年龄、成绩,并输出这些信息

下节课预告

  • 条件语句(if/else/switch)
  • 循环结构(for/while/foreach)
  • 函数基础
  • 本文作者:菜鬼
  • 本文链接: https://caigui.net/pljcjc--dek-sjlxyysf.html
  • 版权声明:本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。
文章很赞!支持一下吧 还没有人为TA充电
为TA充电
还没有人为TA充电
0
0
  • 支付宝打赏
    支付宝扫一扫
  • 微信打赏
    微信扫一扫
感谢支持
文章很赞!支持一下吧
关于作者
128
4
0
1
梦想不大,创造神话。

PHP零基础教程-第一课-PHP入门基础

上一篇

PHP零基础教程-第三课-流程控制与函数基础

下一篇
评论区
内容为空

这一切,似未曾拥有