<?php
/* 二进制权限控制PHP类
* 作 者: 多菜鸟
* 邮 箱: kingerq AT QQ DOT com
* 来 源:http://blog.csdn.net/kingerq/archive/2009/10/22/4714223.aspx
* 创建时间: 2009-10-22
*/
class binPower{
var $power = "";
//权限存贮变量,十进制整数
function __construct($power){
$this->power = intval($power);
}
/* 添加指定权限
* $right 为2的N次方十进制整数,N代表权限序号
*/
function addPower($right){
//利用逻辑或添加权限
$this->power = $this->power | intval($right);
}
/* 删除指定权限
* $right 为2的N次方十进制整数,N代表权限序号
*/
function delPower($right){
//删除权限,先将预删除的权限取反,再进行与操作
$this->power = $this->power & ~intval($right);
}
/* 判断是否存在指定权限
* $right 为2的N次方十进制整数,N代表权限序号
*/
function isPower($right){
//权限比较时,进行与操作,得到0的话,表示没有权限
if( ($this->power & intval($right)) == 0 ) return fals ......
PHP流程控制
在任何一门程序设计语言中,都需要支持满足程序结构化所需要的三种基本结构
顺序结构
分支结构(选择结构)
循环结构
在PHP中,为支持这三种结构,提供了实现这三种结构所需的语句。
1、顺序结构:
在程序结构中,最基本的就是顺序结构。程序会按照自上而下的顺序执行代码,基本形式为:
语句1;
语句2;
语句3;
...
语句n;
2、分支结构:if语句、switch语句
if(条件表达式){
语句组;
}
switch(表达式){
case 值1:
语句序列1;
break;
case 值2:
语句序列2;
break;
default:
语句序列;
break;
}
3、循环结构:while语句、do while语句、for语句
while(条件表达式){
语句序列;
}
do{
& ......
PHP表达式
表达式是常量、变量和运算符的组合
表达式是PHP中的重要内容,PHP中几乎所有的东西都可以称为表达式
$x=10;
$y=($x=10);
$y+=($x=10);
$z=&$x;
$condition?$true_item:$false_item;
PHP运算符
运算符是用来对数值或变量进行某种操作运算的符号。一般地说,运算符可以带有1个、2个或者更多个运算对象。他们之间也有先后顺序,具体内容包括
1、算术运算符
运算符
名称
结果
$a+$b
加法
$a和$b的和
$a-$b
减法
$a和$b的差
$a*$b
乘法
$a和$b的积
$a/$b
除法
$a除以$b的商
$a%$b
求模
$a除以$b的余数
2、递增/递减运算符
运算符
名称
结果
$a++
后加加
$a的值先进行操作运算,后自增1
++$a
前加加
$a的值先自增1,后进行操作运算
$a--
后减减
$a的值先进行操作运算,后递减1
--$a
前减减
$a的值先自增1,后进行操作运算
【示例】
文本查看复制代码打印关于
<?php
echo $a=5 + "5th"; //输出:10
echo 10 + $a++; //输出:20
echo 5 - (-- ......
PHP外部变量与环境变量
PHP的特点之一就是可以用简单的方式处理表单数据,获取环境变量。在PHP中,这些外部数据或变量保存在一种特殊的全局变量数组中。
表单数据
$_GET:获取GET请求发送的数据
$_POST:获取POST请求发送的数据
$_REQUEST:可以同时获取GET和POST请求发送的数据
【示例】
请求URL:http://localhost/test.php?username=alex&pwd=365php
文本查看复制代码打印关于
<?php
//获取GET请求数据
echo $_GET['username']; //输出alex
echo $_GET['pwd']; //输出365php
?>
<?php
//获取GET请求数据
echo $_GET['username']; //输出alex
echo $_GET['pwd']; //输出365php
?>
【示例】
文本查看复制代码打印关于
<form method="POST">
用户名:<input type="text" name="uname" /><br />
密码:<input type="text" name="pwd" /><br />
<input type="submit" ......
PHP数据类型转换细节
1、数字(整形和浮点型之间可以相互转化)
整形转换为浮点型:由于浮点型的精度范围远大于整形,所以转换后的数值精度不会改变。
浮点型转换为整形:讲自动舍弃小树部分,只保留整数部分。注:如果一个浮点型超过整数取值的有效范围,其结果将是无法确定的(整数的最大值约是2.147e9)。
【示例】
文本查看复制代码打印关于
<?php
$real_num=3.1e9;
echo $real_num;
echo (int)$real_num; //输出一个不确定的值,因为溢出的部分已经丢失。
?>
<?php
$real_num=3.1e9;
echo $real_num;
echo (int)$real_num; //输出一个不确定的值,因为溢出的部分已经丢失。
?>
2、布尔型
以下类型转换为布尔类型的false,其他的转换为true
0转换为false
0.0转换为false
空白字符""和字符串"0"转换为false
没有成员的数组array()转换为false
NULL转换为false
3、字符串
数值转字符串就是按照数值原本的格式转换;字符串转换为数字,转换后的数字是从字符串开始部分的数值型字符串,数值型字符串包括正负值和用科学计数法表示的数字。
......
PHP数据类型转换
PHP的数据类型转换属于强制转换,允许转换的PHP数据类型有:
(int)、(integer):转换成整形
(float)、(double)、(real):转换成浮点型
(string):转换成字符串
(bool)、(boolean):转换成布尔类型
(array):转换成数组
(object):转换成对象
PHP数据类型有三种转换方式:
在要转换的变量之前加上用括号括起来的目标类型
使用3个具体类型的转换函数,intval()、floatval()、strval()
使用通用类型转换函数settype(mixed var,string type)
第一种转换方式: (int) (bool) (float) (string) (array) (object)
文本查看复制代码打印关于
<?php
$num1=3.14;
$num2=(int)$num1;
var_dump($num1); //输出float(3.14)
var_dump($num2); //输出int(3)
?>
<?php
$num1=3.14;
$num2=(int)$num1;
var_dump($num1); //输出float(3.14)
var_dump($num2); //输出int(3)
?>
第二种转换方式: intval() floatval() strval()
文本查看复制代码打印关于
<?p ......