PHP学习第一天

2021.08.03

My first PHP page

//表示用H1的字体

变量

储存信息的容器

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

变量规则

  • 以$符号开始,跟变量名称
  • 变量名开头必须是字母或者下划线且名字不包含空格只能是A-z、0-9、_
  • 名称区分大小写,不同的变量名是不同的变量

PHP是一门弱类型语言

它会根据变量的值自动转换数据类型,不需要声明

当赋值为文本时需要在两侧加上引号

**php变量的作用域**

- **local(本地的)—— 局部变量的作用域**
- **global(总体的)—— 全局变量的作用域**
- **static(静态的)—— static 作用域**
- **parameter(参数)——参数作用域**

```php+HTML
<?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 为:
*/

x是全局变量,y是局部变量。所以调用myTest函数时只能显示局部变量y不能显示全局i变量x,反之亦然。如果要使用全局变量x就需要在前面加上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['y'] + $GLOBALS['x'];
} 
 
myTest();
echo $y;
?>

static作用域

当一个函数完成时,他的变量通常都会被删除。如果不想让他被删除的话就在前面加上static

<?php
function myTest()	//把x当作全局变量可达到同效果
{
    static $x=0;
    echo $x;
    $x++;
    echo PHP_EOL;    // 换行符
}
 
myTest();
myTest();
myTest();	//输出结果为 0 1 2
?>	

echo和print语句

echo 和 print 区别:

  • echo - 可以输出一个或多个字符串
  • print - 只允许输出一个字符串,返回值总为 1

提示:echo 输出的速度比 print 快, echo 没有返回值,print有返回值1。

<?php
echo "<h2>PHP 很有趣!</h2>";
echo "Hello world!<br>";
echo "我要学 PHP!<br>";
echo "这是一个", "字符串,", "使用了", "多个", "参数。";
?>
<?php
$txt1="学习 PHP";
$txt2="RUNOOB.COM";
$cars=array("Volvo","BMW","Toyota");
 
echo $txt1;
echo "<br>";
echo "在 $txt2 学习 PHP ";
echo "<br>";
echo "我车的品牌是 {$cars[0]}";
?>

EOF(heredoc)界定符 使用说明

使用概述:

    1. 必须后接分号,否则编译通不过。
    1. EOF 可以用任意其它字符代替,只需保证结束标识与开始标识一致。
    2. 结束标识必须顶格独自占一行(即必须从行首开始,前后不能衔接任何空白和字符)。
    1. 开始标识可以不带引号或带单双引号,不带引号与带双引号效果一致,解释内嵌的变量和转义符号,带单引号则不解释内嵌的变量和转义符号。
    1. 当内容需要内嵌引号(单引号或双引号)时,不需要加转义符,本身对单双引号转义,此处相当与q和qq的用法。

注意:

1.以 <<<EOF 开始标记开始,以 EOF 结束标记结束,结束标记必须顶头写,不能有缩进和空格,且在结束标记末尾要有分号 。

2.开始标记和结束标记相同,比如常用大写的 EOT、EOD、EOF 来表示,但是不只限于那几个(也可以用:JSON、HTML等),只要保证开始标记和结束标记不在正文中出现即可。

3.位于开始标记和结束标记之间的变量可以被正常解析,但是函数则不可以。在 heredoc 中,变量不需要用连接符 ., 来拼接,如下:

<?php
$name="runoob";
$a= <<<EOF
        "abc"$name
        "123"
EOF;
// 结束需要独立一行且前后不能空格
echo $a;
?>

var_dump

此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。

var_dump 和 print_r 的区别

var_dump 返回表达式的类型与值而 print_r 仅返回结果,相比调试代码使用 var_dump 更便于阅读。

php中的数据类型:String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值)

<?php 
$x = 5985;
var_dump($x);
echo "<br>"; 
$x = -345; // 负数 
var_dump($x);
echo "<br>"; 
$x = 0x8C; // 十六进制数
var_dump($x);
echo "<br>";
$x = 047; // 八进制数
var_dump($x);
?>
//输出
int(5985)
int(-345)
int(140)
int(39)

数组

<?php 
$cars=array("Volvo","BMW","Toyota");
var_dump($cars);
?>

对象

<!DOCTYPE html>
<html>
<body>

<?php
class Car
{
    var $color;
    function __construct($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 "\therbie: Properties\n";
print_vars($herbie);

?>  

</body>
</html>
//输出 herbie: Properties color = white

php类型比较

因为php是弱语言,所以有着严格比较和松散比较

  • 松散比较:使用两个等号 == 比较,只比较值,不比较类型。
  • 严格比较:用三个等号 === 比较,除了比较值,也比较类型。
<?php
if(42 == "42") {
    echo '1、值相等';
}
 
echo PHP_EOL; // 换行符
 
if(42 === "42") {
    echo '2、类型相等';
} else {
    echo '3、类型不相等';
}
?>
输出
1、值相等
3、类型不相等

还有好多严格和松散的比较:PHP 类型比较 | 菜鸟教程 (runoob.com)


标签对是一列 也就是里面是横着一排 横着有多少个
*
---

这是段落标签 每两个标签对之间的内容为一段

这里是表格里的内容(第一个小单元格)就是第一列
这里是表格里的内容(第二个小单元格)就是第二列
这里是表格里的内容(第三个小单元格)就是第三列
一个
标签对 就有多少个单元格
换行
使用php换行符
- $content1 = "PHP换行符\r\n由转义序列添加\n工作正常\n\n";
- $content2 = "PHP换行符".PHP_EOL ."通过PHP_EOL添加" .PHP_EOL ."工作正常";
使用html换行符
- $content= "PHP使用
换行
工作正常";
参考:[PHP如何使用换行符?(代码示例)-php教程-PHP中文网](https://www.php.cn/php-weizijiaocheng-415345.html#:~:text=换行符是用于逃避继续使用相同行的分隔符。 这是为了将冗长的线分成小的,易读的块,逐行显示。 PHP允许通过使用转义序列或预定义常量来添加这些换行符,如下所示: 1、,(或 )换行:这是在内容之间添加实际换行符的PHP转义序列之一。 2、PHP_EOL:此预定义常量用作行尾的表示,从而可以进行换行。)
---
posted @ 2021-08-14 01:13  颜骏  阅读(55)  评论(0编辑  收藏  举报