您的位置:首页 > 编程语言 > PHP开发

PHP-----函数和二进制

2014-02-11 22:12 176 查看
递归-----函数本身调用本身。每一个栈中的变量都是独立的,不受外部变量的影响,除非传参。这一点和Js不一样。



在一个php页面中要引用其他的php文件可以使用require,require_once或者include,include_once;

require引入的文件如果不存在则会报错,而include只会警告waring,程序可以继续运行。带有_once表明只会读取一次文件。







变量的地址,使用global可以引用外部的变量,使用unset()则可以删除一个变量;案例



在形参变量前面加上地址符&,则可以把函数内部变量的执行结果传到函数外面。



Js中的全局和局部变量:

<script type="text/javascript">
var a=2;
function b(a){
//局部变量
a+=20;
alert(a);
}
b(a);
alert(a);
//22;
//传参--->> 2;
12 </script>


/*$a=2;
function b(){
//global $a;
$a+=20;
//未定义
echo a;
}
b();
echo $a;*/
//22;
//和js里的全局变量有区别,php里面必须声明,否则只是局部变量


传参时,给参数设置默认值:

//------默认值设置
function aa($a,$b=1){
$res=$a+$b;
return $res;
}
$e=10;
$f=100;
echo aa($e,$f);//第二个数值会默认代替;如果第二个值重新定义,则会取代默认值


二进制:只需要知道二进制三码之间的转换规则,以及位运算的规则,基本上没有什么难度。

二进制中的原码,反码,补码



位运算规则:





案例





案例

echo ~5;
//-6
//分析步骤
//正数的原码,反码,补码都是一样的,所以先求出补码,正数的符号位以0开头
//00000000 00000000 00000000 00000101----》1*1+0*2+1*4=5
//11111111 11111111 11111111 11111010----》取反-----现在为负数的补码,需要转换为原码
//11111111 11111111 11111111 11111001----》转换为反码-1;
//10000000 00000000 00000000 00000110----》原码-----》0*0+1*2+1*4=-6;

$a=-1>>2;
echo $a;
//0
//把二进制表示的-1向右移动2位,但是首先要算出负数的补码
//10000000 00000000 00000000 00000001----》原码
//11111111 11111111 11111111 11111110----》反码--(符号位不能变)
//11111111 11111111 11111111 11111111----》补码
//11111111 11111111 11111111 11111111----》从符号位后开始向右移动,用符号位1补齐---最后转换为原码
//11111111 11111111 11111111 11111110
//10000000 00000000 00000000 00000001---->>结果为-1

//最终结论:每向左移动一次乘以2,向右移动一次除以2;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: