PHP-----函数和二进制
递归-----函数本身调用本身。每一个栈中的变量都是独立的,不受外部变量的影响,除非传参。这一点和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;
PHP-----函数和二进制的更多相关文章
- PHP细节,PHP手册中常见的一句话:该函数是二进制安全的
以下内容转自 http://wuxinjie.github.io/php-02/ 在看PHP手册的时候,经常看到一句话”该函数是二进制安全的”. 二进制安全是什么呢? 他是如何实现的? 二进制安全是什 ...
- mysql中用HEX和UNHEX函数处理二进制数据的导入导出
读取数据并拼写sql语句,然后进行导入.具体方法为: (1)导出时采用HEX函数读取数据,把二进制的数据转为16进制的字符串: select HEX(binField) from testTable; ...
- Matlab常用函数:二进制和十进制转换,均值,方差
文章目录 Size s=size(A) [r,c]=size(A) [r,c,m]=size(A) size(A,n) 二进制和十进制转换 dec2bin mean 均值 mean(a,1) mean ...
- [PHP] pow指数运算函数与二进制
1.a的-2次方=(a分之一)的2次方2.-a的2次方 3次方 按照这个规则,负负得正,负正得负,正正得正,指数是偶数最终结果是正的,是奇数就是负的3.二进制转换十进制,0b开头是二进制 <?p ...
- php大力力 [049节] php函数implode()
implode()[1] 函数返回一个由数组元素组合成的字符串. 注释:implode() 函数接受两种参数顺序.但是由于历史原因,explode() 是不行的,您必须保证 separator 参数 ...
- PHP常用函数大全
usleep() 函数延迟代码执行若干微秒.unpack() 函数从二进制字符串对数据进行解包.uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID.time_sleep_until() ...
- [转]SQL Server字符串处理函数大全
select语句中只能使用sql函数对字段进行操作(链接sql server), select 字段1 from 表1 where 字段1.IndexOf("云")=1;这条语句不 ...
- mysql 函数(一)
1.ascii() 查询ascii值,多个字符的情况下,显示左边第一个字符的ascii值 SELECT ASCII("abc"); 等同于 SELECT ASCII("a ...
- PHP implode() 函数 把数组元素组合为字符串
http://www.w3school.com.cn/php/func_string_implode.asp PHP implode() 函数 PHP String 函数 实例 把数组元素组合为字符串 ...
- php数组函数,字符串,linux命令
1>> Linux常用命令一. 文件目录操作命令1. ls命令 命令格式:ls [选项] [目录名] 命令功能:列出目标目录中所有的子目录和文件.2. 命令格式:cd [目录名 ...
随机推荐
- phpqrcode不能输出二维码
phpqrcode不能输出二维码 注意 权限..... 注意 扩展 header('Content-Type: image/png'); include_once 'phpqrcode/qrlib ...
- C# 模拟鼠标移动与点击
我们需要用到的mouse_event函数,位于user32.dll这个库文件里面,所以我们要先声明引用. [System.Runtime.InteropServices.DllImport(" ...
- C#的TreeView标记
今天用到了TreeView控件,多次添加后发现内容是重复的,于是用到清除:this.myTreeView.Nodes.Clear(): 如果想在添加完节点后,默认全展开:this.myTreeView ...
- PHP检测移动设备类mobile detection使用实例
目前,一个网站有多个版本是很正常的,如PC版,3G版,移动版等等.根据不同的浏览设备我们需要定向到不同的版本中.不仅如此,我们有时候还需要根据不同的客户端加载不同的CSS,因此我们需要能够检测浏览设备 ...
- ArGIS Server 服务的更新
对于普通地图服务更新 [产品版本]:arcgis for server 10.1,10.1 sp1,10.2及以上 [问题分析]: 由于在10.1中地图服务的发布采用的是msd的形式,也就是虽然在Ar ...
- Android 线程的正确使用姿势
进程优先级(Process Priority) 线程寄宿在进程当中,线程的生命周期直接被进程所影响,而进程的存活又和其优先级直接相关.在处理进程优先级的时候,大部分人靠直觉都能知道前台进程(Foreg ...
- Vcenter server 5.5安装部署
1.安装VMware ESXi Server 虚拟主机安装方法请看本人博客 "实践记忆": http://www.cnblogs.com/zoulongbin/p/5896836. ...
- 个人对AutoResetEvent和ManualResetEvent的理解(转载)
仅个人见解,不对之处请指正,谢谢. 一.作用 AutoResetEvent和ManualResetEvent可用于控制线程暂停或继续,拥有重要的三个方法:WaitOne.Set和Reset. 这三个方 ...
- Tomcat6.0+Jdk1.5+Axis1.3搭建java webservice环境,并使用c#调用该服务。
java jdk:jdk1.5.0_17 下载网址:http://pan.baidu.com/s/1gdmAkgV tomcat 6.0 下载地址:http://tomcat.apache.org/d ...
- AJAX-----13HTML5中新增的API---FormData
FormData 表单数据对象,这是在HTML5中新增的一个API,他能以表单对象做参数,自动的将表单的数据打包,当ajax发送数据是,发送FormData内的表单数据给后端即可 <!DOCTY ...