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

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

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

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

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

Js中的全局和局部变量:

  1. <script type="text/javascript">
  2. var a=2;
  3. function b(a){
  4. //局部变量
  5. a+=20;
  6. alert(a);
  7. }
  8. b(a);
  9. alert(a);
  10. //22;
  11. //传参--->> 2;
  12. 12 </script>
  1. /*$a=2;
  2. function b(){
  3. //global $a;
  4. $a+=20;
  5. //未定义
  6. echo a;
  7. }
  8. b();
  9. echo $a;*/
  10. //22;
  11. //和js里的全局变量有区别,php里面必须声明,否则只是局部变量

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

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

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

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

位运算规则:

案例

案例

  1. echo ~5;
  2. //-6
  3. //分析步骤
  4. //正数的原码,反码,补码都是一样的,所以先求出补码,正数的符号位以0开头
  5. //00000000 00000000 00000000 00000101----》1*1+0*2+1*4=5
  6. //11111111 11111111 11111111 11111010----》取反-----现在为负数的补码,需要转换为原码
  7. //11111111 11111111 11111111 11111001----》转换为反码-1;
  8. //10000000 00000000 00000000 00000110----》原码-----》0*0+1*2+1*4=-6;
  9.  
  10. $a=-1>>2;
  11. echo $a;
  12. //0
  13. //把二进制表示的-1向右移动2位,但是首先要算出负数的补码
  14. //10000000 00000000 00000000 00000001----》原码
  15. //11111111 11111111 11111111 11111110----》反码--(符号位不能变)
  16. //11111111 11111111 11111111 11111111----》补码
  17. //11111111 11111111 11111111 11111111----》从符号位后开始向右移动,用符号位1补齐---最后转换为原码
  18. //11111111 11111111 11111111 11111110
  19. //10000000 00000000 00000000 00000001---->>结果为-1
  20.  
  21. //最终结论:每向左移动一次乘以2,向右移动一次除以2;

PHP-----函数和二进制的更多相关文章

  1. PHP细节,PHP手册中常见的一句话:该函数是二进制安全的

    以下内容转自 http://wuxinjie.github.io/php-02/ 在看PHP手册的时候,经常看到一句话”该函数是二进制安全的”. 二进制安全是什么呢? 他是如何实现的? 二进制安全是什 ...

  2. mysql中用HEX和UNHEX函数处理二进制数据的导入导出

    读取数据并拼写sql语句,然后进行导入.具体方法为: (1)导出时采用HEX函数读取数据,把二进制的数据转为16进制的字符串: select HEX(binField) from testTable; ...

  3. Matlab常用函数:二进制和十进制转换,均值,方差

    文章目录 Size s=size(A) [r,c]=size(A) [r,c,m]=size(A) size(A,n) 二进制和十进制转换 dec2bin mean 均值 mean(a,1) mean ...

  4. [PHP] pow指数运算函数与二进制

    1.a的-2次方=(a分之一)的2次方2.-a的2次方 3次方 按照这个规则,负负得正,负正得负,正正得正,指数是偶数最终结果是正的,是奇数就是负的3.二进制转换十进制,0b开头是二进制 <?p ...

  5. php大力力 [049节] php函数implode()

    implode()[1]  函数返回一个由数组元素组合成的字符串. 注释:implode() 函数接受两种参数顺序.但是由于历史原因,explode() 是不行的,您必须保证 separator 参数 ...

  6. PHP常用函数大全

    usleep() 函数延迟代码执行若干微秒.unpack() 函数从二进制字符串对数据进行解包.uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID.time_sleep_until() ...

  7. [转]SQL Server字符串处理函数大全

    select语句中只能使用sql函数对字段进行操作(链接sql server), select 字段1 from 表1 where 字段1.IndexOf("云")=1;这条语句不 ...

  8. mysql 函数(一)

    1.ascii() 查询ascii值,多个字符的情况下,显示左边第一个字符的ascii值 SELECT ASCII("abc"); 等同于 SELECT ASCII("a ...

  9. PHP implode() 函数 把数组元素组合为字符串

    http://www.w3school.com.cn/php/func_string_implode.asp PHP implode() 函数 PHP String 函数 实例 把数组元素组合为字符串 ...

  10. php数组函数,字符串,linux命令

    1>> Linux常用命令一. 文件目录操作命令1. ls命令    命令格式:ls [选项] [目录名]    命令功能:列出目标目录中所有的子目录和文件.2. 命令格式:cd [目录名 ...

随机推荐

  1. Python简明语法

  2. Windows下如何安装Python的第三方库

    有下面几个办法: 1. 通过http://www.lfd.uci.edu/~gohlke/pythonlibs/这个网站, 下载whl文件, 解压之后会有三个文件夹, 将最短名字的那个文件夹复制到C: ...

  3. NOJ 1074 Hey Judge(DFS回溯)

    Problem 1074: Hey Judge Time Limits:  1000 MS   Memory Limits:  65536 KB 64-bit interger IO format: ...

  4. Ajax 无刷新上传文件插件 uploadify 的使用

    在表单中无法直接使用 Ajax 上传文件,解决的思路可以是使用插件无刷新地上传文件,返回文件上传后的地址,然后把该地址作为 Ajax 的参数传递给服务器端进行数据库处理.可以使用 uploadify ...

  5. C#中 MD5和SHA1加密代码

    Pwd = FormsAuthentication.HashPasswordForStoringInConfigFile(entity.Pwd, "MD5"); Pwd = For ...

  6. Java 学习第一步-JDK安装和Java环境变量配置

    Java学习第一步——JDK安装及Java环境变量配置 [原文]  2014-05-30 9:09  Java SE  阿超  9046 views Java作为当下很主流的编程语言,学习Java的朋 ...

  7. RESTful使用

    测试工具: JMeter 可以使用JMeter对HTTP REST接口进行测试 Java RESTful框架: Jersey

  8. C++ Primer Pluse_7_课后题

    #include <iostream> using namespace std; double Sum2(double x, double y) { double sum = 0; if ...

  9. iScroll.js几个问题及其解决办法

    1.在一个页面中需要点击tab切换,而且每个切换的内容都需要下拉刷新加载,这个时候需要在点击的时候用到myScroll.refresh();这个函数,刷新iScroll.js这个函数. 2.在页面中有 ...

  10. centos 下建用户 shell编程

    useradd 用户名 passwd 用户名 cat /etc/passwd  查看用户信息 删除用户 userdel -r   加一个 -r 表示把用户及用户的主目录都删除 su  切换用户 sud ...