PHP循环控制,for,while遍历关联数组
使用for与while遍历关联数组少不了的是数组指针
next指针下移 prev指针上移 reset指针重置 end指针所指最后一项 key读取数组键名 current读取数组键值
<?php
//遍历数组
//索引数组遍历
use think\console\output\descriptor\Console;
$array = ['xiaoyu','123456','1'];
//方法一:for
$arraylen = count($array);
for($i=0;$i<$arraylen;$i++){
echo $array["$i"],'<br>';
}
//方法二:while
$i = 0;
while($i<$arraylen){
echo $array["$i"],'<br>';
$i++;
}
//方法三:foreach
foreach($array as $v){
echo $v,'<br>';
}
//遍历关联数组
$array2 = ['username'=>'xiaoyu','password'=>'123456','enable'=>'1'];
//最直接的方法用foreach
$arraylen = count($array2);
foreach($array2 as $k => $v){
echo $k.'=>'.$v.'<br>';
}
//接下来用数组指针
//key()获取键名 current()获取数组键值
//next()指针下移 prev()指针上移 end()最后一个指针 reset()指针复原
for($i=0;$i<$arraylen;$i++){
echo key($array2).'=>'.current($array2).'<br>';
next($array2);
}
reset($array2);
$i = 0;
while($i<$arraylen){
echo key($array2).'=>'.current($array2).'<br>';
next($array2);
$i++;
}
PHP登录表单验证
界面什么的无所谓啦,随便写了一个
表单验证代码
<?php
//$_SERVER 是PHP自带的系统常量
//$_SERVER['REQUEST_METHOD'] REQUEST_METHOD是判断提交类型
//真实环境中密码都是从数据库中读取,我们这边提前设置好;
$user = ['username'=>'xiaoyu','password'=>'57fe40e41bacb02112fa3dd113ce4f1c'];
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// (!empty($_POST['username']) ? $username = $_POST['username']; : die("<script>alert('用户名不能为空');history.go(-1);</script>");
// (!empty($_POST['password']) ? $password = $_POST['password']; : die("<script>alert('密码不能为空');history.go(-1);</script>");
if (!empty($_POST['username'])) {
$username = $_POST['username'];
}else{
die("<script>alert('用户名不能为空');history.go(-1);</script>");
}
if (!empty($_POST['password'])) {
$password = $_POST['password'];
}else{
die("<script>alert('密码不能为空');history.go(-1);</script>");
}
if(!($username === $user['username'])){
die("<script>alert('无此账号');history.go(-1);</script>");
}
if(!(md5(sha1($password)) === $user['password'])){
die("<script>alert('密码错误');history.go(-1);</script>");
}else{
//一般登录成功发放session 我们这边就直接提示登陆成功
echo '登录成功';
}
}else{
die("<script>alert('类型提交错误');history.go(-1);</script>");
}