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 [目录名 ...
随机推荐
- Python简明语法
- Windows下如何安装Python的第三方库
有下面几个办法: 1. 通过http://www.lfd.uci.edu/~gohlke/pythonlibs/这个网站, 下载whl文件, 解压之后会有三个文件夹, 将最短名字的那个文件夹复制到C: ...
- NOJ 1074 Hey Judge(DFS回溯)
Problem 1074: Hey Judge Time Limits: 1000 MS Memory Limits: 65536 KB 64-bit interger IO format: ...
- Ajax 无刷新上传文件插件 uploadify 的使用
在表单中无法直接使用 Ajax 上传文件,解决的思路可以是使用插件无刷新地上传文件,返回文件上传后的地址,然后把该地址作为 Ajax 的参数传递给服务器端进行数据库处理.可以使用 uploadify ...
- C#中 MD5和SHA1加密代码
Pwd = FormsAuthentication.HashPasswordForStoringInConfigFile(entity.Pwd, "MD5"); Pwd = For ...
- Java 学习第一步-JDK安装和Java环境变量配置
Java学习第一步——JDK安装及Java环境变量配置 [原文] 2014-05-30 9:09 Java SE 阿超 9046 views Java作为当下很主流的编程语言,学习Java的朋 ...
- RESTful使用
测试工具: JMeter 可以使用JMeter对HTTP REST接口进行测试 Java RESTful框架: Jersey
- C++ Primer Pluse_7_课后题
#include <iostream> using namespace std; double Sum2(double x, double y) { double sum = 0; if ...
- iScroll.js几个问题及其解决办法
1.在一个页面中需要点击tab切换,而且每个切换的内容都需要下拉刷新加载,这个时候需要在点击的时候用到myScroll.refresh();这个函数,刷新iScroll.js这个函数. 2.在页面中有 ...
- centos 下建用户 shell编程
useradd 用户名 passwd 用户名 cat /etc/passwd 查看用户信息 删除用户 userdel -r 加一个 -r 表示把用户及用户的主目录都删除 su 切换用户 sud ...