zoukankan      html  css  js  c++  java
  • array、isset、三元运算符、find()

    array('name','getName',3,'callback'), // 对name字段在新增和编辑的时候回调getName方法

    1. if(isset($_GET['id'])) {
    2. // 根据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方法才看到两个方法的不同所在!
    
    

    
    
  • 相关阅读:
    GitHub:如何构建一个股票市场知识图谱?(附代码&链接)
    java运行jar命令提示没有主清单属性
    Modern Qt Development: The Top 10 Tools You Should Be Using
    没本事就不要去追逐梦想了
    ddd
    5分钟快速构建苹果IPA免费发布服务器
    Windows热键注册的底层原理
    云设计模式-Design patterns for microservices
    ubuntu16安装最新版docker
    什么是Docker—无服务器计算服务
  • 原文地址:https://www.cnblogs.com/hellowzd/p/4100034.html
Copyright © 2011-2022 走看看