本文目录一览:
- 1、运算符的php
- 2、运算符”in”和”=”在嵌套查询中的使用区别
- 3、php中运算符有哪些,它们之间的优先级又是怎样?
- 4、数据库in的用法
- 5、第十二讲 PHP 逻辑运算符
- 6、php报错问题Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in
运算符的php
php 是一种服务器端的,嵌入html的脚本语言。php区别其他像客户端java的地方是它的代码在服务器端执行.php可以做任何其他cgi程序所能做的事,例如收集表格数据,生成动态页面内容,或者收发cookies.可能最强大,最有意义的特性是php支持大范围的数据库.书写一个支持数据库的web 页面是难以置信的简单.
PHP 中的运算符分为:四则运算符、逻辑运算符、三目运算符和位运算符。
运算符优先级
运算符优先级指定了两个表达式绑定得有多“紧密”。例如,表达式 1 + 5 * 3 的结果是 16 而不是 18 是因为乘号(“*”)的优先级比加号(“+”)高。必要时可以用括号来强制改变优先级。例如:(1 + 5) * 3 的值为 18。如果运算符优先级相同,则使用从左到右的左联顺序。
下表从高到低列出了运算符的优先级。同一行中的运算符具有相同优先级,此时它们的结合方向决定求值顺序。
表格 15-1. 运算符优先级 结合方向 运算符 附加信息 非结合 new new 左 [ array() 非结合 ++ -- 递增/递减运算符 非结合 ! ~ - (int) (float) (string) (array) (object) @ 类型 左 * / % 算数运算符 左 + - . 算数运算符和字符串运算符 左 位运算符 非结合 = = 比较运算符 非结合 == != === !== 比较运算符 左 位运算符和引用 左 ^ 位运算符 左 | 位运算符 左 逻辑运算符 左 || 逻辑运算符 左 ? : 三元运算符 右 = += -= *= /= .= %= = |= ^= = = 赋值运算符 左 and 逻辑运算符 左 xor 逻辑运算符 左 or 逻辑运算符 左 , 多处用到 左联表示表达式从左向右求值,右联相反。
例子 15-1. 结合方向
?php
$a = 3 * 3 % 5; // (3 * 3) % 5 = 4$a = true ? 0 : true ? 1 : 2; // (true ? 0 : true) ? 1 : 2 = 2$a = 1;$b = 2;$a = $b += 3; // $a = ($b += 3) - $a = 5, $b = 5
? 使用括号可以增强代码的可读性。
注:尽管 ! 比 = 的优先级高,php 仍旧允许类似如下的表达式:if (!$a = foo()),在此例中 foo() 的输出被赋给了 $a。
运算符”in”和”=”在嵌套查询中的使用区别
in 后面子查询的返回值可以是多个值,当字段满足其值是子查询返回值的子集时被查询到
如返回值是1,2,5,8,10,只要字段等于其中任何一个都满足条件
= 后面子查询的返回值只能有一个,当字段等于返回值时被查询到
php中运算符有哪些,它们之间的优先级又是怎样?
刚测试了一下
优先级
||比and高
and比or高
写代码时
有疑义就加括号
数据库in的用法
数据库in的用法的用法你知道吗?下面我就跟你们详细介绍下数据库in的用法的用法,希望对你们有用。
数据库in的用法的用法如下:
MySQL IN 语法
IN 运算符用于 WHERE 表达式中,以列表项的形式支持多个选择,语法如下:
WHERE column IN (value1,value2,...)
WHERE column NOT IN (value1,value2,...)
当 IN 前面加上 NOT 运算符时,表示与 IN 相反的意思,即不在这些列表项内选择。
IN 使用实例
选取 uid 为 2、3、5 的用户数据:
SELECT * FROM user WHERE uid IN (2,3,5)
返回查询结果如下:
uid
username
password
regdate
2 小明 a193686a53e4de85ee3f2ff0576adf01 xiao@163.com 1278063917
3 Jack 0193686a35e4de85ee3f2ff0567adf490 jack@gmail.com 1278061380
5 5idev a193686a53e4de85ee3f2ff0576adf01 5idev@5idev.com 1291107029
IN 子查询
更多情况下,IN 列表项的值是不明确的,而可能是通过一个子查询得到的:
SELECT * FROM article WHERE uid IN(SELECT uid FROM user WHERE status=0)
在这个 SQL 例子里,我们实现了查出所有状态为 0 的用户(可能是被禁止)的所有文章。首先通过一个查询得到所有所有 status=0 的用户:
SELECT uid FROM user WHERE status=0
然后将查询结果作为 IN 的列表项以实现最终的查询结果,注意在子查询中返回的结果必须是一个字段列表项。
IN 运算符补充说明
IN 列表项不仅支持数字,也支持字符甚至时间日期类型等,并且可以将这些不同类型的数据项混合排列而无须跟 column 的类型保持一致:
SELECT * FROM user WHERE uid IN(1,2,'3','c')
一个 IN 只能对一个字段进行范围比对,如果要指定更多字段,可以使用 AND 或 OR 逻辑运算符:
SELECT * FROM user WHERE uid IN(1,2) OR username IN('admin','5idev')
使用 AND 或 OR 逻辑运算符后,IN 还可以和其他如 LIKE、=、= 等运算符一起使用。
关于 IN 运算符的效率问题
如果 IN 的列表项是确定的,那么可以用多个 OR 来代替:
SELECT * FROM user WHERE uid IN (2,3,5)
// 等效为:
SELECT * FROM user WHERE (uid=2 OR aid=3 OR aid=5)
一般认为,如果是对索引字段进行操作,使用 OR 效率高于 IN,但对于列表项不确定的时候(如需要子查询得到结果),就必须使用 IN 运算符。另外,对于子查询表数据小于主查询的时候,也是适用 IN 运算符的。
第十二讲 PHP 逻辑运算符
逻辑运算符用来组合逻辑运算的结果,是程序设计中一组非常重要的运算符。
PHP中的逻辑运算符如下表所示:
左右两个条件同时为 TRUE 时,则结果为 TRUE;两个条件中有任意一个条件为 FALSE 时,则结果为 FALSE。当左边的条件为 FALSE 时,将直接跳过右边的条件直接返回 FALSE。
运行结果:
如果两个条件有一个为 TRUE,则结果为 TRUE;如果两个条件都是为 FALSE,则结果为 FALSE。当左边条件为 TRUE,将跳过右边条件的判断,直接返回 TRUE。
调整上面的示例:
运行结果:
将一个布尔值进行取反操作。例如:!true = false、!false = true、!10 = false。
调整上面的示例:
php报错问题Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in
报错是因为echo输出时对双引号没有使用转义字符。正确的应该是:
第一种方法
echo "input name=\"Sel\" type=\"radio\" value=\"".$Arr['ID']."\" /".$Arr['SName']."br /";
即是把要输出的双引号使用\"进行转义。
第二种方法
就是echo输出用单引号,里面的输出字符串全部用双引号,如下:
echo 'input name="Sel" type="radio" value="'.$Arr['ID'].'" /'.$Arr['SName'].'br /';
扩展资料
相对 echo 中拼接字符串而言,传递多个参数比较好,考虑到 PHP 中连接运算符(“.”)的优先级。 传入多个参数的方式,不需要圆括号保证优先级:
例1:echo "Sum: ", 1 + 2;
例2:echo "Hello ", isset($name) ? $name : "John Doe", "!";
参考资料来源:百度百科-转义字符
参考资料来源:PHP官方手册-echo