PHP学习笔记

Demon
2022-01-15 / 0 评论 / 46 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2022年01月17日,已超过166天没有更新,若内容或图片失效,请留言反馈。

kyi3w7ek.png

PHP语言

必须以 <?php 开头,以 ?> 结尾

  • 可单独使用
<?php echo "hello world" ?>
  • 可以嵌入HTML
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<body>
    <h1>这是php第一页</h1>
    <?php echo "hello world!"; ?>
</body>
</html>

注释

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
<!-- html多行注释 -->
<?php
/* php多行注释 */
//单行注释
#单行注释
$a=2;
echo $a;
?>
</body>
</html>

变量

  • 变量以 $ 符号开始,后面跟着变量的名称
  • 变量名必须以字母或者下划线字符开始
  • 变量名只能包含字母数字字符以及下划线(A-z、0-9 和 _ )
  • 变量名不能包含空格
  • 变量名是区分大小写的( X 和 Y 是两个不同的变量)
<?php
$x=3;
$y=4;
$z=$x+$y;
echo $z;
?>
<?php
$txt="Hello world!";
$x=5;
$y=10.5;
?>
//字母必须要双引号,数字都可以
//PHP 是一门弱类型语言
//在上面的实例中,我们注意到,不必向 PHP 声明该变量的数据类型。
//PHP会根据变量的值,自动把变量转换为正确的数据类型。
//在强类型的编程语言中,我们必须在使用变量前先声明(定义)变量的类型和名称。
<?php
$x='3';
$y="10";
$z=$x+$y;
echo $z;
?>

局部和全局变量

<?php
$x=5;
function Test()
{
$y=107;
echo "<p>测试函数变量:</p>";
echo "$y";
echo "<br>";
echo "$x";
}
Test();
echo "$y";
echo "<br>";
echo "$x";
?>
#global 关键字用于函数内访问全局变量。
#在函数内调用函数外定义的全局变量,我们需要在函数中的变量前加上 global 关键字:
<?php
$x=5;
function Test()
{
global $x;
$y=107;
echo "<p>测试函数变量:</p>";
echo "$y";
echo "<br>";
echo "$x";
echo "<br>";
}
Test();
echo "$y";
echo "<br>";
echo "$x";
?>

输出函数echo和print的区别

  • echo - 可以输出一个或多个字符串
  • print - 只允许输出一个字符串

#下面的实例演示了如何使用 echo 命令输出字符串(字符串可以包含 HTML 标签):
<?php
echo "<h1>这是php第一页</h1>";
echo "hello world<br>";
echo "hello","world","nihao","汉字";
//print "hello","world","nihao","汉字"; //报错
#echo - 可以输出一个或多个字符串
print "<h1>这是php第一页</h1>";
print "hello world<br>";
print "hello";
#print - 只允许输出一个字符串
?>
<?php
$x="学习 php";
$y="woaixuexi";
$z=array("wo","ai","PTE");
echo $x;
echo "<br>";
echo "在 $y 学习 PHP ";
echo "<br>";
echo "输出值 $z[1]<br>";
print $x;
print "<br>";
print "在 $y 学习 PHP ";
print "<br>";
print "输出值 {$z[2]}"; //数字编号以0开始
?>

数据类型

String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组),NULL(空值)
var_dump() 方法,判断一个变量的类型与长度,并输出变量的数值,如果变量有值,则输出是变量的
值,并返回数据类型。显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展
开值,通过缩进显示其结构。

字符串

#可以将任何文本放在单引号和双引号中:
<?php
$x = "Hello world!";
echo $x;
echo "<br>";
$x = "123";
echo $x;
echo "<br>";
$y = 'Hello world!';
echo $x;
echo "<br>";
var_dump($y)
?>

整型

#整数是没有小数点的
#整数可以是正数或负数
#整型可以用三种格式来指定:十进制, 十六进制( 以 0x 为前缀)或八进制(前缀为 0)。
<?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);
?>

kygysvh5.png

浮点型

<?php
$x = 10.365;
var_dump($x);
?>

kygymi6z.png

布尔型

<?php
$x=true;
$y=false;
var_dump($y);
?>

kygyu6ts.png

空值

<?php
$x="Hello world!";
$x=null;
var_dump($x);
?>

kygyvh9h.png

类型比较

kygyww1q.png

<?php
if(42 == "42") {
echo '1、值相等';
}
echo "<br>"; // 换行符
if(42 === "42") {
echo '2、类型相等';
} else {
echo '3、类型不相等';
}
?>

kygz1ch7.png
kygz2cdj.png
kygz2kwr.png

常量

设置常量,使用 define() 函数,函数语法如下:

bool define ( string $name , mixed $value [, bool $case_insensitive = false ])

该函数有三个参数:

  • name:必选参数,常量名称,即标志符。
  • value:必选参数,常量的值。
  • case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。

PHP并置运算符

在 PHP 中,只有一个字符串运算符。
并置运算符 (.) 用于把两个字符串值连接起来。

<?php
$a="hello world!";
$b="what a nice day!";
echo $a." ".$b;
?>

kygz8o0i.png

PHP函数

strlen()

strlen() 函数返回字符串的长度(字节数)。

<?php
$a="hello world!";
$b="what a nice day!";
echo $z=$a." ".$b;
echo "<br>";
echo strlen("what a nice day!");
echo "<br>";
echo strlen($a);
echo "<br>";
echo strlen($z);
?>

kygzakge.png

strpos()

strpos() 函数用于在字符串内查找一个字符或一段指定的文本。
如果在字符串中找到匹配,该函数会返回第一个匹配的字符位置。如果未找到匹配,则返回 FALSE。

<?php
<?php
echo strpos("Hello world!","world");
echo "<br>";
echo var_dump(strpos("Hello world!","abc"));
?>

kygzgyqp.png

PHP编码函数

<?php
echo md5("Hello world!");#计算字符串的 MD5 散列。
echo "<br>";
echo str_rot13("Hello world !");#对字符串执行 ROT13 编码。
echo "<br>";
echo sha1("Hello world !");#计算字符串的 SHA-1 散列。
echo "<br>";
echo crypt("Hello world !");#单向的字符串加密法(hashing)。
?>

kygzl9i0.png

逻辑运算

运算符

kygzmnlv.png

<?php
$x=10;
$y=6;
echo ($x + $y); // 输出16
echo '<br>'; // 换行
echo ($x - $y); // 输出4
echo '<br>'; // 换行
echo ($x * $y); // 输出60
echo '<br>'; // 换行
echo ($x / $y); // 输出1.6666666666667
echo '<br>'; // 换行
echo ($x % $y); // 输出4
echo '<br>'; // 换行
echo -$x;
?>

三元运算符

  • 语法格式
(expr1) ? (expr2) : (expr3)

对 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3。
自 PHP 5.3 起,可以省略三元运算符中间那部分。表达式 expr1 ?: expr3 在 expr1 求值为 TRUE 时返回expr1,否则返回 expr3

<?php
$test = '0';
// 普通写法
$username = isset($test) ? $test : 'nobody';#isset() 函数用于检测变量是否已设置并
且非 NULL。
echo $username;
echo "<br>";
$username = (1==1) ? $test : 'nobody';
echo $username;
echo "<br>";
// PHP 5.3+ 版本写法
$username = $test ?: 'nobody';
echo $username;
?>

kyi3zr3z.png

if语句

  • if 语句 - 在条件成立时执行代码
  • if...else 语句 - 在条件成立时执行一块代码,条件不成立时执行另一块代码
  • if...elseif....else 语句 - 在若干条件之一成立时执行一个代码块

if

  • 在条件成立时执行代码
if (条件)
{
条件成立时要执行的代码;
}
#如果当前时间小于 20,下面的实例将输出 "Have a good day!":
<?php
$t=date("H");
if ($t<"20")
{
echo "Have a good day!";
}
?>

if...else

  • 在条件成立时执行一块代码,条件不成立时执行另一块代码
if (条件)
{
条件成立时执行的代码;
}
else
{
条件不成立时执行的代码;
}
<?php
$t=date("H");
if ($t<"20")
{
echo "Have a good day!";
}
else
{
echo "Have a good night!";
}
?>

if...elseif...else

  • 在若干条件之一成立时执行一个代码块
if (条件)
{
if 条件成立时执行的代码;
}
elseif (条件)
{
elseif 条件成立时执行的代码;
}
else
{
条件不成立时执行的代码;
}
<?php
$t=date("H");
if ($t<"10")
{
echo "Have a good morning!";
}
elseif ($t<"20")
{
echo "Have a good day!";
}
else
{
echo "Have a good night!";
}
?>

Switch

  • switch 语句用于根据多个不同条件执行不同动作
<?php
switch (n)
{
case label1:
如果 n=label1,此处代码将执行;
break;
case label2:
如果 n=label2,此处代码将执行;
break;
default:
如果 n 既不等于 label1 也不等于 label2,此处代码将执行;
}
?>
<?php
$favcolor="red";
switch ($favcolor)
{
case "red":
echo "你喜欢的颜色是红色!";
break;
case "blue":
echo "你喜欢的颜色是蓝色!";
break;
case "green":
echo "你喜欢的颜色是绿色!";
break;
default:
echo "你喜欢的颜色不是 红, 蓝, 或绿色!";
}
?>

循环

  • while - 只要指定的条件成立,则循环执行代码块
  • do...while - 首先执行一次代码块,然后在指定的条件成立时重复这个循环
  • for - 循环执行代码块指定的次数

while

  • while 循环将重复执行代码块,直到指定的条件不成立。
while (条件)
{
要执行的代码;
}
<html>
<body>
<?php
$i=1;
while($i<=5)
{
echo "The number is " . $i . "<br>";
$i++;
}
?>
</body>
</html>

do...while

  • do...while 语句会至少执行一次代码,然后检查条件,只要条件成立,就会重复进行循环。
do
{
要执行的代码;
}
while (条件);
<?php
$i=1;
do
{
$i++;
echo "The number is " . $i . "<br>";
}
while ($i<=5);
?>

For循环

  • 循环执行代码块指定的次数,或者当指定的条件为真时循环执行代码块。
for (初始值; 条件; 增量)
{
要执行的代码;
}

参数

  • 初始值 :主要是初始化一个变量值,用于设置一个计数器(但可以是任何在循环的开始被执行一次的代码)。
  • 条件 :循环执行的限制条件。如果为 TRUE,则循环继续。如果为 FALSE,则循环结束。
  • 增量 :主要用于递增计数器(但可以是任何在循环的结束被执行的代码)。
    注释 :上面的 初始值增量 参数可为空,或者有多个表达式(用逗号分隔)。
<?php
for ($i=1; $i<=5; $i++)
{
echo "数字为 " . $i . "<br>";
}
?>

php函数

创建php函数

函数是通过调用函数来执行的

<?php
function functionName()
{
// 要执行的代码
}
functionName();
?>
<?php
function writeName()
{
echo "Kai Jim Refsnes";
}
echo "My name is ";
writeName();
?>
//My name is Kai Jim Refsnes

案例

#下面的实例将输出不同的名字,但姓是相同的:
<?php
function writeName($fname)
{
echo $fname."<br>";
}
echo "我的名字是: ";
writeName("Kai Jim");
echo "我姐姐的名字是: ";
writeName("Hege");
echo "我哥哥的名字是: ";
writeName("Stale");
?>

kyial9zq.png

PHP魔法常量

PHP 向它运行的任何脚本提供了大量的预定义常量。
不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。
有八个魔术常量它们的值随着它们在代码中的位置改变而改变。
例如 LINE 的值就依赖于它在脚本中所处的行来决定。这些特殊的常量不区分大小写,如下:

LINE

文件中的当前行号

<?php
echo '这是第 " ' . __LINE__ . ' " 行';
echo __LINE__
?>

kyiaopen.png

FILE

文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。
自 PHP 4.0.2 起,FILE 总是包含一个绝对路径(如果是符号连接,则是解析后的绝对路径),而在此之前的版本有时会包含一个相对路径。

<?php
echo '该文件位于 " ' . __FILE__ . ' " ';
echo __FILE__;
?>

kyiare4g.png

DIR

文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。
它等价于 dirname(FILE)。除非是根目录,否则目录中名不包括末尾的斜杠。(PHP 5.3.0中新增)

<?php
echo '该文件位于 " ' . __DIR__ . ' " ';
?>

kyiasjr6.png

FUNCTION

函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP4 中该值总是小写字母的。

<?php
function test() {
echo '函数名为:' . __FUNCTION__ ;
}
test();
?>

kyiatvo9.png

本文共 2008 个字数,平均阅读时长 ≈ 6分钟
2

打赏

海报

正在生成.....

评论 (0)

取消
召唤看板娘