字符串操作函数
strlen()
:统计字符串的长度trim()
| ltrim()
| rtrim()
:去除字符串两端的指定字符 | 去除左侧指定字符 | 去除右侧指定字符,不设置默认为空格;使用方式:trim(‘要操作的字符串’,’要去除的字符串’)
PHP
<?php
$arr1 = ['html','css','js'];
//count():计算数组元素
echo '数组元素:'.count($arr1).'个元素<br>';
//strlen():计算字符串长度
echo '字符串长度' . strlen('LiPingX').'个字符串<br>';
//trim(),rtrim(),ltrim():删除两边,左边,右边指定字符串,默认空格
$str = ' LiPingX ';
echo '字符串原长度' . strlen($str).'个字符串<br>';
$str1 = trim($str);
echo '字符串删两边长度' . strlen($str1).'个字符串<br>';
echo $str1 . '<br>';
$str2 = ltrim($str, ' L');
echo '字符串删左边长度' . strlen($str2).'个字符串<br>';
echo $str2 .'<br>';
$str3 = rtrim($str,'X ');
echo '字符串删右边长度' . strlen($str3).'个字符串<br>';
echo $str3 .'<br>';
示例
数组操作函数
count()
:计算数组的元素个数key()
: 返回当前指向元素的键名current()
:返回当前指向元素的值next()
: 指向当前元素的指针移动到下一个元素的位置,返回当前元素的值prev()
:指向当前元素的指针移动到上一个元素的位置reset()
: 把数组的内部指针指向第一个元素end()
: 把数组的内部指针指向最后一个元素
PHP
<?php
$arr=[1,2,3,4,5];
echo count($arr).'<br />';
echo key($arr).'<br />';
echo current($arr).'<br />';
echo next($arr).'<br />';
echo prev($arr).'<br />';
echo reset($arr).'<br />';
echo end($arr).'<br />';
示例
mt_rand()
:在区间之间生成一个随机数。参数有两个:最小值,最大值range()
: 创建一个包含指定范围的元素的数组 。参数: 数组的最低值 , 数组的最高值 ,数组元素之间的步值(可选)isset()
:判断变量是否被定义,若变量存在,即使值(不)为NULL, 才返回true,其它情况下返回falseempty()
:判断变量是否有值,变量的值为NULL或为0时,返回true
PHP <?php
echo '生成1~10之间的随机数:'.mt_rand(1,10).'<br />';
echo '生成1~10之间的数组:'.'<br />';
var_dump(range(1,10));
$name;
echo isset($name).'<br />';
echo empty($name).'<br />';
示例
for循环
<?php
for($i=1;$i<=5;$i++){
echo '当前是第'.$i.'次循环<br />';
}
echo '<hr />';
//for循环索引素组
$arr=[1,2,3,4];
for($i=0;$i<count($arr);$i++){
echo '第'.$i.'个元素的值是'.$arr[$i].'<br />';
}
echo '<hr />';
//for循环关联数组
$arr2=['name'=>'Lin','sex'=>'女','age'=>25];
for($i=0;$i<count($arr2);$i++){
echo key($arr2).'的值是'.current($arr2).'<br />';
next($arr2);
}
示例
while与do..while循环
while
先判断是否符合条件,再执行代码块。do..while
先执行再判断,至少执行一次
PHP
<?php
$a=0;
while($a>0){
echo '当前是第'.$a.'次循环<br />';
$a++;//等同于$a=$a+1
}
echo '<hr />';
$b=0;
do{
echo '当前是第'.$b.'次循环<br />';
}while($b>0);
echo '<hr />';
//while循环索引素组
$arr=[1,2,3,4];
$index=0;
while($index<count($arr)){
echo '第'.$index.'个元素的值是'.$arr[$index].'<br />';
$index++;
}
echo '<hr />';
//while循环关联数组
$index=0;
$arr2=['name'=>'Lin','sex'=>'女','age'=>25];
while($index<count($arr2)){
echo key($arr2).'的值是'.current($arr2).'<br />';
next($arr2);
$index++;
}
示例
三元运算符
(表达式1 | 变量) ? (表达式2 | 变量) : (表达式3 | 变量)
:表达式1为true时,结果为表达式2,否则结果为表达式3
简写(表达式1 | 变量) ? ?(表达式2 | 变量)
当表达式1结果为true时,结果为表达式1,否则为表达式2.该语法PHP7及以上版本支持
表单验证
$_POST
: 预定义变量,用于收集post提交方式 的表单中的值$_GET
: 预定义变量,用于收集get提交方式 的表单中的值$_REQUEST
: 预定义变量,可以收集post与get两种提交方式的表单中的值
HTML-PHP
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>PHP表单验证</title>
<style>
form{
width: 400px;
height: 200px;
background-color: #0cbadf;
border-radius: 5px;
text-align: center;
margin: auto;
}
form > div{
display: grid;
grid-template-columns: 100px 200px;
margin: 20px 0;
grid-column-gap:10px;
}
form > div > label{
text-align: right;
}
form > div > input{
border-radius: 5px;
}
</style>
</head>
<body>
<form action="index.php" method="post">
<h3>用户登录</h3>
<div>
<label for="username">用户名</label>
<input type="text" name="username" id="username" required autofocus>
</div>
<div>
<label for="password">密码</label>
<input type="password" name="password" id="password" required autofocus>
</div>
<input type="submit" value="登录">
</form>
</body>
</html>
<?php
$username=$_POST['username'];
$password=$_POST['password'];
if(empty($username)){
echo "<script>alert('请输入用户名');</script>";
exit;
}elseif(strlen($username)>20){
echo "<script>alert('用户名长度不得超过20个字符');</script>";
exit;
}
if(empty($password)){
echo "<script>alert('请输入密码');</script>";
exit;
}elseif(strlen($password)<6 || strlen($password)>18){
echo "<script>alert('密码长度在6~18个字符之间');</script>";
exit;
}
echo '登陆成功!欢迎你,'.$username;