PHP总结的一些语法

1:->:指代某某的一个方法

2:public 表示全局,类内部外部子类都可以访问;
private表示私有的,只有本类内部可以使用;
protected表示受保护的,只有本类或子类或父类中可以访问;

3:

M方法的调用格式:

M('[基础模型名:]模型名','数据表前缀','数据库连接信息')

1
$User= M('db2.User','think_');

表示实例化Model模型类,并操作db2数据库中的think_user表。

4:

SQL where子句用于指定的条件,而从单个表或多个表的连接获取数据。

如果给定的条件满足,那么它返回从表中特定的值。将使用WHERE子句来筛选记录和读取只需要记录。

5:field方法属于模型的连贯操作方法之一,主要目的是标识要返回或者操作的字段,可以用于查询和写入操作。

6:new UserModel();//定义方法  使得这个仓库有效

7:md5() 函数计算字符串的 MD5 散列。

md5() 函数使用 RSA 数据安全,包括 MD5 报文摘要算法。

8:

str_replace(find,replace,string,count)
参数 描述
find 必需。规定要查找的值。
replace 必需。规定替换 find 中的值的值。
string 必需。规定被搜索的字符串。
count 可选。对替换数进行计数的变量。

10:count() 函数返回数组中元素的数目。

11:ceil() 函数向上舍入为最接近的整数。

返回不小于 x 的下一个整数,x 如果有小数部分则进一位。ceil() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。

12:

 假如我们现在要查询一个User表的满足状态为1的前10条记录,并希望按照用户的创建时间排序 ,代码如下:

 
 
  1. $User->where('status=1')->order('create_time')->limit(10)->select();

这里的whereorderlimit方法就被称之为连贯操作方法,除了select方法必须放到最后一个外(因为select方法并不是连贯操作方法),连贯操作的方法调用顺序没有先后,例如,下面的代码和上面的等效:

http://document.thinkphp.cn/manual_3_2.html#continuous_operation

13:

order方法属于模型的连贯操作方法之一,用于对数据库操作的结果进行排序。即相当于是在select语句中一个order by的子句。
用法
    $Model->where('status=1')->order('id desc')->limit(5)->select();
注意:连贯操作方法没有顺序,可以在select方法调用之前随便改变调用顺序。
支持对多个字段的排序,例如:
    $Model->where('status=1')->order('id desc,status')->limit(5)->select();

如果没有指定desc或者asc排序规则的话,默认为asc。ASC是升序

desc是降序

14:$map['字段名'] = array('表达式','查询条件');
表达式不分大小写,支持的查询表达式有下面几种,分别表示的含义是:

表达式含义
EQ等于(=)
NEQ不等于(<>)
GT大于(>)
EGT大于等于(>=)
LT小于(<)
ELT小于等于(<=)
LIKE模糊查询
[NOT] BETWEEN(不在)区间查询
[NOT] IN(不在)IN 查询
EXP表达式查询,支持SQL语法
示例如下:
EQ :等于(=)
例如:

  1. $map['id']  = array('eq',100);
和下面的查询等效
  1. $map['id']  = 100;
表示的查询条件就是 id = 100


   $map['tbusergroup.fdcDesc'] = ['like','%'.$kw.'%'];
这里指模糊查找 tbusergroup.fdcDesc中的 $kw值,%值%;表示缺少的空字;

提示:"%" 可用于定义通配符(模式中缺少的字母)。

 $map['_logic'] = 'or';
如果进行多字段查询,那么字段之间的默认逻辑关系是 逻辑与 AND,但是用下面的规则可以更改默认的逻辑判断,通过使用 _logic 定义查询逻辑:

就相当于 $map['tbusergroup.fdcDesc'] = ['like','%'.$kw.'%'] or  $map['tbusergroup.fdcName'] = ['like','%'.$kw.'%'];

   $map['tbusergroup.fdcDesc'] = ['like','%'.$kw.'%'];//?
            $map['tbusergroup.fdcName'] = ['like','%'.$kw.'%'];
            $map['_logic'] = 'or';
  1. $where['name']  = array('like', '%thinkphp%');
  2. $where['title']  = array('like','%thinkphp%');
  3. $where['_logic'] = 'or';
  4. $map['_complex'] = $where;
  5. $map['id']  = array('gt',1);
查询条件是 

( id > 1) AND ( ( name like '%thinkphp%') OR ( title like '%thinkphp%') )

   $where[ '_complex'] =  $map;
复合查询相当于封装了一个新的查询条件,然后并入原来的查询条件之中,


复合查询使用了_complex作为子查询条件来定义,配合之前的查询方式,可以非常灵活的制定更加复杂的查询条件。
很多查询方式可以相互转换,例如上面的查询条件可以改成:

http://blog.csdn.net/hsd2012/article/details/51074821


15:I('get.'); // 获取整个$_GET 数组

  1. I('post.name','','htmlspecialchars'); // 采用htmlspecialchars方法对$_POST['name'] 进行过滤,如果不存在则返回空字符串
  2. I('session.user_id',0); // 获取$_SESSION['user_id'] 如果不存在则默认为0
  3. I('cookie.'); // 获取整个 $_COOKIE 数组
  4. I('server.REQUEST_METHOD'); // 获取 $_SERVER['REQUEST_METHOD'] 

16:delete()语句用于从数据库表中删除记录

17:两个数据库相连接!

 $join = ['LEFT JOIN tbusergroup on tbuser.fdlGroupID =
         tbusergroup.ID LEFT JOIN asupply on tbuser.fdlSupplyID = asupply.ID'];/

18:因此要使用 save() 方法更新数据,必须指定更新条件或者更新的数据中包含主键字段

ThinkPHP 内置的 save 方法用于向数据表更新数据,相当于 SQL 中的 UPDATE 行为。

ThinkPHP save() 方法

ThinkPHP 中使用 save() 方法来更新数据库,并且也支持连贯操作的使用。



19:json_encode
以json的形式弄出来
<?php
$arr = array
       (
          'Name'=>'希亚',
          'Age'=>20
       );

$jsonencode = json_encode($arr);
echo $jsonencode;
?>

程序运行结果如下:

{"Name":null,"Age":20}
$arr= array("姓名"=>"小明","年龄"=>30);
var_dump($arr);
echo "<hr>";
$jsone=json_encode($arr);//对变量(数组)进行json编码,返回json字符串, "{"\u59d3\u540d":"\u5c0f\u660e","\u5e74\u9f84":30}"
var_dump($jsone);

// 在js中使用JSON.parse()方法用于将一个JSON字符串转换为对象。
// 经常用于ajax在php端返回使用json_encode处理的json数据,而在ajax的success方法中则需使用JSON.parse()方法将其转换为对象。


20:

 static
 php中除了常规类和方法的使用,访问控制之外,还有静态关键字static,静态变量可以是局部变量也可以是全局变量,当一个程序段执行完毕时,静态变量并没有消失,它依然存在于内存中,下次在定义时还是以前的值,常用于递归或子函数中保留之前的值,可以用来定义变量和方法,作用就不具体说了,说一下使用方式,下面简单的代码:
21:

1.获取某个字段值

这个是getField方法最基本的用法,用于获取符合条件的某个字段值。

?
1
2
3
$User= M("User");// 实例化User对象
 // 获取ID为3的用户的昵称
$nickname=$User->where('id=3')->getField('nickname');

返回的nickname是一个字符串结果。也就是说,即使有满足条件的多个字段,也只会返回一个结果。

2.获取某个字段列

如果希望返回符合要求的字段列(多个结果),可以使用:

?
1
2
3
$User= M("User");// 实例化User对象
 // 获取status为1的用户的昵称列表
$nickname=$User->where('status=1')->getField('nickname',true);

第二个参数传入了true,返回的nickname则是一个数组,包含了所有满足条件的昵称列表。

21:isset函数是检测变量是否设置。

格式:bool isset ( mixed var [, mixed var [, ...]] )

返回值:

若变量不存在则返回 FALSE 
若变量存在且其值为NULL,也返回 FALSE 
若变量存在且值不为NULL,则返回 TURE 
同时检查多个变量时,每个单项都符合上一条要求时才返回 TRUE,否则结果为 FALSE


22:
<?php  if( $a== 1): ? >
< input  type= "text" >
<?php  endif; ? >
在HTML文件里判断条件的一种方式;
<?php  if( $a== 1): ? >
< input  type= "text" >
<?php  else: ? >
< input  type= "checkbox" >
<?php  endif; ? >

23:Swith:语句

switch( $a){
   case  1:
   echo  "星期1";
   break;
   case  2;
   echo  "星期2";
  break;
  default:
  echo  "你查寻的结构";
}

24:设置时间:

date_default_timezone_set( "Asia/Shanghai"); //设置时区
$time= date( "Y-m-d H:i:s"); //获取当前时间
echo  $time;

25:$_GET和$_POST

PHP预定义变量;

$_GET;

就是接收表单或者超链接发过来的数据;

26:$_SESSION

告诉浏览器我的数据已经验证通过,登陆成功,此时session须要存储数据,其他页面通过判断session中存储的数据来判断是否登陆,Session可以跨页面进行传递

session_start();开启session功能

$_SESSION["username"]=$username;保存;

则在其他页面就可以

session_start();开启session功能

其他页面用这个验证



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值