正文
php数据结构验证 php数字验证
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
php判断数组元素是否存在
1、采用in_array(value,array,type)
type 可选。如果设置该参数为 true,则检查搜索的数据与数组的值的类型是否相同。
$arr = array('可以','如何','方法','知道','没有','不要');
//in_array(value,array,type)
$isin = in_array("如何2",$arr);
if($isin){
echo "in====".$isin;
}else{
echo "out====".$isin;
}
2、
array_key_exists 'array_key_exists() 函数判断某个数组中是否存在指定的 key,如果该 key 存在,则返回 true,否则返回 false。array_key_exists(key,array
3、array_search() 函数与 in_array() 一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回 false。array_search(value,array,strict),当数据量比较大的时候,用array_key_exists比较合适,但占用的内存比较大,
数组结构是: array(1, 2, 3, ..)和 array(1 = true, 2 = false, ..),内存使用比值为1:2。
具体跟内部实现有关系,在php中第一种和第二种的数据结构类似,都是关联数组。
php怎样验证表单文本区域内容是否已存在数据库中?
方法:查询数据,若数据存在则输出(前端这个要自己写,我只写了一个echo)
代码如下:
//$conn = new mysqli($sql_server_name, $sql_username, $sql_password, $sql_db);
$timu = $_GET["timu"];
$sql = $conn-query("查询 * from problems where timu
='". $timu . "'"); // 从problems库里查 注意把“查询”改成“select”,因为百度知道会屏蔽sql语句
if (mysqli_fetch_assoc($sql) 0) {
echo "已存在";
} else {
echo "不存在";
}
thinkphp3.2自动完成和自动验证同时进行
Thinkphp的自动验证和自动完成都是根所表单提交的内容来的,对部分数据进行规则验证和处理后插入到数据库。
1、自动验证格式:
array( array(验证字段1,验证规则,错误提示,[验证条件,附加规则,验证时间]), array(验证字段2,验证规则,错误提示,[验证条件,附加规则,验证时间]), ...... );
验证条件:
self::EXISTS_VALIDATE 或者0 存在字段就验证(默认)
self::MUST_VALIDATE 或者1 必须验证
self::VALUE_VALIDATE或者2 值不为空的时候验证
验证时间:
self::MODEL_INSERT或者1新增数据时候验证
self::MODEL_UPDATE或者2编辑数据时候验证
self::MODEL_BOTH或者3全部情况下验证(默认)
2、自动完成格式:
?12345 array( array(完成字段1,完成规则,[完成条件,附加规则]), array(完成字段2,完成规则,[完成条件,附加规则]), ...... );
完成时间:
self::MODEL_INSERT或者1 新增数据的时候处理(默认)
self::MODEL_UPDATE或者2 更新数据的时候处理
self::MODEL_BOTH或者3 所有情况都进行处理
小实例(注册)
HTML布局:
form class="form-horizontal" action="{:U('Login/register')}" method="post" autocomplete="off" enctype="multipart/form-data" div class="form-group" label class="col-lg-2 control-label"用户名/label div class="col-lg-4" input class="form-control" type="text" name="username" / /div /div div class="form-group" label class="col-lg-2 control-label"密码/label div class="col-lg-4" input class="form-control" type="password" name="password" / /div /div div class="form-group" label class="col-lg-2 control-label"重复密码/label div class="col-lg-4" input class="form-control" type="password" name="repassword" / /div /div div class="form-group" label class="col-lg-2 control-label"头像/label div class="col-lg-4" input class="form-control" type="file" name="portrait" id="imgpath" / img style="width: 100%;" src="" id="showimgpath" alt="头像"/ span class="help-block"关像的大小为80*80px/span /div /div div class="form-group" label class="col-lg-2 control-label"性别/label div class="col-lg-4" div class="btn-group" data-toggle="buttons" label class="btn btn-default active" input type="radio" name="gender" autocomplete="off" value="1" checked / 男 /label label class="btn btn-default" input type="radio" name="gender" autocomplete="off" value="0" / 女 /label /div /div /div div class="form-group" label class="col-lg-2 control-label"电话号码/label div class="col-lg-4" input class="form-control" type="input" name="phone" / /div /div div class="form-group" label class="col-lg-2 control-label"邮箱/label div class="col-lg-4" input class="form-control" type="input" name="email" / /div /div div class="form-group" div class="col-lg-2 col-lg-offset-2" button class="btn btn-primary btn-block btn-submit" type="submit"注册/button /div /div /form
模型(MemberModel)
?php namespace Admin\Model; use Think\Model; class MemberModel extends Model { /* 自动验证 */ protected $_validate = array( array('username', '', '用户名是唯一的!', self::EXISTS_VALIDATE, 'unique', self::MODEL_INSERT), array('password', 'require', '没有填写密码!', self::EXISTS_VALIDATE, '', self::MODEL_INSERT), array('repassword', 'password', '重复密码不正确!', self::EXISTS_VALIDATE, 'confirm', self::MODEL_INSERT), array('phone','11','电话号码长度不对!', self::EXISTS_VALIDATE, 'length', self::MODEL_INSERT), array('email', 'email', '邮箱格式不正确!',self::EXISTS_VALIDATE, '', self::MODEL_INSERT) ); /* 自动完成 */ protected $_auto = array( array('password', 'encrypt', self::MODEL_INSERT, 'callback'), array('state','1',self::MODEL_INSERT), array('portrait', 'portrait', self::MODEL_INSERT, 'callback'), array('create_time', 'createTime', self::MODEL_INSERT, 'callback') ); /* 给密码加密 */ public function encrypt() { return md5(crypt(I('post.password/s'), 'zh')); } /* 创建时间 */ public function createTime() { return time(); } /* 上传头像 */ public function portrait() { if($_FILES['portrait']['name']) { // 如果上传的头像 $upload = new \Think\Upload();// 实例化上传类 $upload-maxSize = 3145728 ;// 设置附件上传大小 $upload-exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型 $upload-rootPath = './Uploads/portrait/'; // 设置附件上传根目录 // 上传单个文件 $info = $upload-uploadOne($_FILES['portrait']); if(!$info) {// 上传错误提示错误信息 $this-error($upload-getError()); }else{// 上传成功 获取上传文件信息 $portraitPath = './Uploads/portrait/'.$info['savepath'].$info['savename']; $image = new \Think\Image(); $image-open($portraitPath); // 生成一个居中裁剪为80*80的缩略图 $image-thumb(150, 150,\Think\Image::IMAGE_THUMB_CENTER)-save($portraitPath); return $info['savepath'].$info['savename']; } } } }
对应的数据表结构:
在控制器中检测及插入到数据库:
?12345678910111213141516 /* 注册 */public function register() { if(IS_POST) { $member = D('member'); if($member-create()) { if($member-add()) { $this-success('注册成功!'); } else { $this-error('注册失败!'); } } else { exit($member-getError()); } } $this-display(); }
php数据结构验证的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于php数字验证、php数据结构验证的信息别忘了在本站进行查找喔。