array、isset、三元运算符、find()
array('name','getName',3,'callback'), // 对name字段在新增和编辑的时候回调getName方法
if(isset($_GET['id'])) {// 根据id查询结果
$pid=isset($_POST['pid'])?(int)$_POST['pid']:0;
三元运算符的功能与“if...else”流程语句一致,它在一行中书写,代码非常精练、执行效率更高。
在PHP程序中恰当地使用三元运算符能够令脚本更为简洁、高效。
代码格式如下:(expr1) ? (expr2) : (expr3);
解释:如果条件“expr1”成立,则执行语句“expr2”,否则执行“expr3”。
实现同样的功能,若使用条件流程语句,就需要书写多行代码:
if(expr1) {
expr2;
} else {
expr3;
}
if($pid==0){
$data=0;
假如pid恒等于0,那么data恒等于0
$data=$list['path'].'-'.$list['id'];//子类的path为父类的path加上父类的id
find()
ThinkPHP find() 方法是和 select() 用法类似的一个方法,不同之处 find() 查询出来的始终只有一条数据,即系统自动加上了 LIMIT 1 限制。
当确认查询的数据记录只能是一条记录时,建议使用 find() 方法查询,如用户登录账号检测。
$condition['username'] = 'Admin';
$condition['password'] = MD5('123456');
// 查询数据
$list = $Dao->where($condition)->find(); if($list){
echo '账号正确';
}else{
echo '账号/密码错误';
id=$pid未完待续。。。
select()和find()方法,两个方法都能返回数据集数组,但有什么不同呢?先看一下我的代码对比:
[php] view plaincopy
$tech=M('techlevel','HR_CS_','DB_CONFIG2');
$Data=$tech->where('id=1')->find();
dump($Data);
$Data=$tech->where('id=1')->select();
dump($Data); 结果
[php] view plaincopy
array(6) {
["ID"] => int(1)
["TechLevel"] => string(2) "10"
["Remark"] => string(4) "��"
["CreateDate"] => string(19) "2013-03-14 15:14:38"
["CreateBy"] => string(5) "admin"
["ROW_NUMBER"] => string(1) "1"
} array(1) {
[0] => array(6) {
["ID"] => int(1)
["TechLevel"] => string(2) "10"
["Remark"] => string(4) "��"
["CreateDate"] => string(19) "2013-03-14 15:14:38"
["CreateBy"] => string(5) "admin"
["ROW_NUMBER"] => string(1) "1"
}
} 从上面的代码可以看出,find()返回一个一维数组,select()返回一个二维数组,所以在取值时有所不同,一维数组取值用$data["TechLevel"],二维数组取值用$data[0]["TechLevel"],由于一开始没了解这个用法,调试一天也取不值,最后有dump方法才看到两个方法的不同所在!

array、isset、三元运算符、find()的更多相关文章
- PHP三元运算符 isset($_GET['id']) ? $_GET['id'] : ”
$id = isset($_GET['id']) ? $_GET['id'] : ''; ?> 这是一个php的三元运算符 (条件) ? (值1):(值2); 解释:如果条件成立(为真),则执行 ...
- php 中更简洁的三元运算符 ?:
PHP 三元运算符是对参数赋值时候的一个简洁的主要用法. 一个主要的用法: PHP 三元运算符能够让你在一行代码中描述判定代码, 从而替换掉类似以下的代码: <?php if (isset($v ...
- php中三元运算符用法
代码如下: <?php $handle=fopen("../good/html/1.txt", "r"); while(!feof($handle)) / ...
- PHP基础语法之 三元运算符和其它运算符
三元运算符和其它运算符 此外还有一些特殊的运算符和符号,我们再来进行讲解.可能以后我们需要用到.直线电机选型 符号 说明 $x? 真代码段:假代码段 判断是否为真假 ? 真情况 : 假情况; ``(反 ...
- python学习第十九天三元运算符与php语言区别
三元运算符是条件语句的简写,常见的条件语句写三行,三元运算符只需要写一行,python三元运算符是怎么写的呢 1,常见条件判断 if a<b: print(a) else: print(b) 2 ...
- PHP 三元运算符
$a = $a ? $a : 1;//第一种 $a = $a ? : 1;//第二种 第二种写法从 PHP 5.3 引入,表示若 $a 返回值为真时,取 $a 的返回值. 此外,在 PHP7 中引入了 ...
- php的三元运算符
简单记录一哈php的三元运算符的用法: 啥子是三元运算,即第一个表达式作为判断条件,在后面两个表达式中选择一个执行. 若判断成立,则执行第二个表达式,否则执行第三个表达式. 看到好多网友都说的不 ...
- PHP中的运算符---位运算符、递增递减运算符、三元运算符、字符串运算符、数组运算符、类型运算符、错误控制运算符
1.位运算符 位运算符用来对整型数的指定位进行置位,如果被操作数是字符串,则对该字符串的ASCII码值进行操作. 运算类型 运算符 举例 结果 按位与 & $a & $b 将$a 与 ...
- java的三元运算符
1.三元运算符语法:判断表达式?表达式1:表达式2: (1)三元运算符适合于判断2个值到底使用哪一个! public static void mian(String[] args){ int sex= ...
随机推荐
- Devexpress ASPxPivotGrid 按某列排序,以及把GrandTotal修改掉
<div> <table width="100%" border="0" cellspacing="0" cellpadd ...
- PO_PO接受入库时的接受方式详解(概念)
2014-06-03 Created By BaoXinjian
- Linux时间子系统(十三) Tick Device layer综述
一.前言 时间子系统中的tick device layer主要涉及kernel/time/tick-*相关的文件,本文的主要内容就是从high level层次(不纠缠在具体的每行代码)描述tick d ...
- Python直接赋值、浅拷贝和深度拷贝解析
直接赋值:其实就是对象的引用(别名). 浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象. 深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象 ...
- jquery.dataTables的用法
写页面前端时,使用表格的插件可以快速漂亮的排版.本例子中使用jquery.dataTables来处理table.直接来点干货 html代码如下 <table cellpadding=" ...
- mysql 权限处理
这是对mysql 业务用户在权限处理中遇到的坑: 之前在新建mysql 实例后会做两件事 1.增加业务库 2.为业务库增加一个与之对应的用户 create database appdb char se ...
- MySQL索引经验
在数据库表中,使用索引可以大大提高查询速度. 假如我们创建了一个testIndex表:create TABLE testIndex(i_testID INT NOT NULL,vc_Name VARC ...
- awstat分析nginx日志
awstat分析nginx日志 http://lxw66.blog.51cto.com/5547576/1323712 server{ listen ; server_name localhost; ...
- 【Android】16.3 带Intent过滤器的Services
分类:C#.Android.VS2015: 创建日期:2016-03-01 一.简介 这一节演示带Intent过滤器的Services的基本用法. 1.配置Intent Filter 不论是本地解决方 ...
- Cocos2dx Label
cocos2dx3.0添加了一种新的文本标签,这种标签不同的地方有:使用freetype来使它在不同的平台上有相同的视觉效果:由于使用更快的缓存代理,它的渲染也将更加快速:同时它还提供了绘边.阴影等特 ...