一、格式
- 每行以分号结尾
<?php echo 'hello'; ?>
二、echo函数和print函数
- 作用:两个函数都是输出内容到页面中,多用于代码调试。
<?php echo "<h1 style='text-align: center;'>test</h1>"; print "<h1 style='text-align: center;'>test</h1>"; ?>
- 效果图
三、注释符
- 单行注释
- //
- #
# // # # PhpStorm快捷键:Ctrl+/ <?php // echo "<h1 style='text-align: center;'>test</h1>"; # echo "<h1 style='text-align: center;'>test</h1>"; ?>
- 多行注释
# /**/ # PhpStorm快捷键:Ctrl+Shift+/ <?php /* * echo "<h1 style='text-align: center;'>test</h1>"; echo "hello" */ ?>
四、运算符
- 加减乘除
<?php echo 1+3 ; echo '<br/>'; echo 6-1; echo '<br/>'; echo 2*3 ; echo '<br/>'; echo 6/2 ; echo '<br/>'; ?>
- 效果图:
- 疑问:2为什么在最底下
五、数据类型
- 类型汇总:
- String(字符串)
- Integer(整型)
- Float(浮点型)
- Boolean(布尔型)
- Array(数组)
- Object(对象)
- NULL(空值)
- Resource(资源类型)
- 示例代码:
<?php echo "=====int======="; echo "<br>"; echo 1; # 整型 数字型 echo "<br>"; var_dump(1); #var_dump用于查看值的数据类型 echo "<br>"; echo "=====string======="; echo "<br>"; echo "1"; # 字符型 echo "<br>"; var_dump("1"); echo "<br>"; echo "=====float======="; echo "<br>"; echo 1.1; # 浮点型 echo "<br>"; var_dump(1.1); echo "<br>"; echo "=====boolean======="; echo "<br>"; echo false; # 布尔型 echo "<br>"; var_dump(true); echo "<br>"; echo "=====array======="; echo "<br>"; $array = array('1','2','3'); # 数组 echo $array[0]; # 输出数组中下标为0的数据 echo "<br>"; var_dump($array); echo "<br>"; echo "=====null======="; echo "<br>"; $null = null; echo $null; # 输出数组中下标为0的数据 echo "<br>"; var_dump($null); echo "<br>"; echo "=====resource======="; echo "<br>"; /*$c = mysql_connect(); echo get_resource_type($c) . "\n"; // 打印:mysql link $fp = fopen("foo", "w"); echo get_resource_type($fp) . "\n"; // 打印:file $doc = new_xmldoc("1.0"); echo get_resource_type($doc->doc) . "\n"; // 打印:domxml document*/ echo "<br>"; echo "=====object======="; echo "<br>"; class Color{ function print(){ echo "this is color"; } } $color = new Color(); $color->print(); ?>
- 效果
六、变量
- 变量是用于存储信息的"容器",变量以 $ 符号开始
- 变量名必须以字母或者下划线字符开始
- 变量名只能包含字母、数字以及下划线(A-z、0-9 和 _ )
- 变量名不能包含空格
- 变量名是区分大小写的($y 和 $Y 是两个不同的变量)
- 扩展
- 在上面的实例中,我们注意到,不必向 PHP 声明该变量的数据类型。
- PHP 会根据变量的值,自动把变量转换为正确的数据类型。
- 在强类型的编程语言中,我们必须在使用变量前先声明(定义)变量的类型和名称。
- 示例
# 输出结果为:1 <?php $num=1; echo $num; ?>
- 强转数据类型
# 将字符串强转为整型 <?php $num="1"; $num = (int)$num; echo var_dump($num); # 结果为:int(1) ?>
七、判断语句
- If语句
# == 判断值 # === 判断值和数据类型 # 最后结果为 success <?php if(1==="1"){ echo "fail1"; } elseif (1===1){ echo "success"; } else{ echo "fail2"; } ?>
- switch语句
# 结果为:1 <?php $num =1; switch($num){ case 1: echo "1"; break; case 2: echo "2"; break; default: echo "error"; } ?>
- 示例:输入值并判断是否相等
# 输入11,返回success # 输入其他值,返回error <html > <body> <form action="test01.php" method="post"> 请输入值: <input type="text" name="num"> <input type="submit" > </form> </body> </html> <?php $num = $_POST["num"]; if ($num==11){ echo "success"; } else{ echo "error"; } ?>
八、循环语句
- for循环
<?php for ($i = 0; $i < 10; $i++) { echo $i; } ?>
- 效果图
- while循环
<?php $index=0; while($index<10){ echo $index."<br>"; $index++; } ?>
- 效果图
九、基本函数
- array()
- 用于创建一个数组。
- is_array()
- 用于判断给定变量是否是数组类型,返回布尔值。
- count()
- 用于获取数组或对象的元素个数。
- sizeof()
- 与count()函数类似,用于获取数组或对象的元素个数。
- in_array()
- 用于检查一个值是否在数组中,返回布尔值。
- array_search()
- 查找数组中的键值是否存在,返回键名或false。
- array_keys()
- 返回数组中所有的键名。
- array_values()
- 返回数组中所有的值。
- array_merge()
- 用于合并一个或多个数组。
- array_pop()
- 返回数组中最后一个元素,并将其删除。
- array_push()
- 将一个或多个元素插入到数组末尾。
- array_shift()
- 返回数组中第一个元素,并将其删除。
- array_unshift()
- 将一个或多个元素插入到数组开头。
- implode()
- 用于将数组元素连接成字符串。
- explode()
- 用于将字符串按指定分隔符分割成数组。
- str_replace()
- 用于查找和替换字符串中某个子串。
- substr()
- 用于获取字符串的部分内容。
- urlencode()
- 用于将字符串转换为URL编码格式。
- urldecode()
- 用于将URL编码字符串转换为原始字符串。
- htmlentities()
- 用于将字符串中的HTML实体转换为原始字符。
- htmlspecialchars()
- 用于将特殊字符转换为HTML实体。
- trim()
- 用于去除字符串开头和结尾处的空格或其他字符。
- nl2br()
- 用于将换行符(\n)转换为HTML的换行标签()。
- header()
- 用于设置HTTP响应头信息。
- session_start()
- 用于启动一个新的或继续当前的会话。
- $_SESSION
- 用于在会话中存储和获取变量的值。
- file_get_contents()
- 用于获取文件的内容。
- file_put_contents()
- 用于将数据写入文件中。
- fopen()
- 用于打开文件或URL,返回文件句柄。
- fclose()
- 用于关闭打开的文件句柄。
- fgets()
- 用于从文件指针读取一行。
- fgetcsv()
- 用于从文件指针读取CSV文件中的一行并解析为数组。
- fwrite()
- 用于向文件中写入数据。
- isset()
- 用于检测变量是否设置并且有值,返回布尔值。
- empty()
- 用于判断变量是否为空或者是否包含值为0的元素,返回布尔值。
- is_numeric()
- 用于判断一个变量是否为数字类型,返回布尔值。
- intval()
- 用于将字符串转换为整数类型。
- floatval()
- 用于将字符串转换为浮点数类型。
- strval()
- 用于将一个值转换为字符串类型。
- rand()
- 用于生成一个随机数。
- time()
- 用于获取当前时间的时间戳。
- date()
- 用于获取当前日期和时间。
- strtotime()
- 用于将文本日期时间转换为Unix时间戳。
- mail()
- 用于发送电子邮件。
- preg_match()
- 用于在字符串中查找匹配的模式。
- preg_replace()
- 用于在字符串中搜索和替换匹配的模式。
- md5()
- 用于计算字符串的MD5哈希值。
- sha1()
- 用于计算字符串的SHA-1哈希值。
- base64_encode()
- 用于将文本字符串转换为base64格式。
- base64_decode()
- 用于将base64格式字符串解码为文本字符串。
十、 超级全局变量
- PHP中预定义了几个超级全局变量(superglobals) ,这意味着它们在一个脚本的全部作用域中都可用。 你不需要特别说明,就可以在函数及类中使用。
- PHP 超级全局变量列表:
- $GLOBALS
- $_SERVER
- $_REQUEST
- $_POST
- $_GET
- $_FILES
- $_ENV
- $_COOKIE
- $_SESSION
十一、表单注册示例
- 代码示例
<?php $userNameError=$passwordError=$confirmPasswordError=''; $userName=$password=$confirmPassword=''; if(isset($_POST["registerBtm"])){ $userName =outFormat( $_POST["userName"]); $password = outFormat($_POST["password"]); $confirmPassword =outFormat($_POST["confirmPassword"]); if(!empty($userName)){ if(!empty($password)){ if(!empty($confirmPassword)){ if(userNameReg($userName)){ if(passwordReg($password)){ if($password == $confirmPassword){ echo "<script>alert('注册成功!')</script>"; }else{ $confirmPasswordError = "两次密码不一致"; } }else{ $passwordError="字母、数字、下划线组合的8位密码"; } }else{ $userNameError="以字母开头,长度为8"; } }else{ $confirmPasswordError="请再次输入密码"; } }else{ $passwordError="请输入密码"; } }else{ $userNameError="请输入用户名"; } } # 去除格式 function outFormat($value){ $value=trim($value); $value=stripslashes($value); $value=htmlspecialchars($value); return $value; } /* * 以字母开头,长度为8的用户名 * */ function userNameReg($value) { return preg_match("/^[a-zA-Z][a-zA-Z0-9_]{7}$/",$value)?true:false; } /* * 字母、数字、下划线组合的8位密码 * */ function passwordReg($value) { return preg_match("/^[a-zA-Z0-9_]{8}$/",$value)?true:false; } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> *{ padding:0; margin:0; /*border: 0;*/ } body{ background: #ffffff; } .box{ box-shadow: 10px 10px 5px #f5f5f5; width:500px; height: 400px; border:1px solid #f5f5f5; border-radius: 20px; margin: 50px auto; } h3{ text-align: center; padding-top: 20px; } .loginForm{ padding-top: 100px; text-align: center; } .loginForm input{ margin: 10px 0px; } .register{ display: inline-block; color: #057070; cursor:pointer; transition: all 1s; } .register:hover{ text-decoration: underline; transition: all 1s; } </style>l </head> <body> <div class="box"> <h3>注册</h3> <!-- 作用:请求自己的页面 参考:https://www.kancloud.cn/chunyu/php_basic_knowledge/973403 $_SERVER['PHP_SELF'] //当前正在执行脚本的文件名 htmlspecialchars():是PHP中的一个字符串处理函数,用于将HTML标记转化为实体字符。 --> <form action="<?php htmlspecialchars($_SERVER['PHP_SELF'])?>" method="post" class="loginForm"> 用户名:<input type="text" name="userName" value="<?php echo $userName?>"> <span style="color:red;font-size: 10px"> <?php echo $userNameError; ?> </span> <br/> 密 码:<input type="password" name="password" value = "<?php echo $password ?>"> <span style="color:red;font-size: 10px"> <?php echo $passwordError; ?> </span> <br/> <span style="margin-left: -16px" >确认密码:</span> <input type="password" name="confirmPassword" value = "<?php echo $confirmPassword?>"> <span style="color:red;font-size: 10px"> <?php echo $confirmPasswordError; ?> </span> <br/> <input type="submit" value="注册" name="registerBtm"> </form> <p style="text-align: center;font-size: 12px" >请 <a href="login.html" class="register">登录</a> </p> </div> </body> </html> <!-- isset():检测变量是否设置 empty(): 判断变量是否为空 true(1):为空 false(0):不为空 preg_match(表达式,变量名):执行正则表达式匹配 -->
- 效果图