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 [目录名 ...
随机推荐
- 【iCore3 双核心板】例程二十九:SD_IAP_FPGA实验——更新升级FPGA
实验指导书及代码包下载: http://pan.baidu.com/s/1o7h158m iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...
- JS写的CRC16校验算法(查表法)
var CRC = {}; CRC._auchCRCHi = [ 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0 ...
- uglifyjs压缩批处理
uglifyjs. 据说是用来压缩JS文件的,据说还能优化JS,据说是基于node的,还据说比Google Closure Compiler更带感. uglifyjs压缩批处理我们不可能每次都打开cm ...
- MySQL常用问题解决方法
Q: # table 损坏 Table 'table_name' is marked as crashed and should be repaired A: 恢复数据表的索引:myisamchk - ...
- Linux内核设计第四周——扒开系统调用三层皮
Linux内核设计第四周 ——扒开系统调用三层皮 一.知识点总结 (一).系统调用基础知识 1.用户态和内核态 内核态:在高级别的状态下,代码可以执行特权指令,访问任意的物理地址: 用户态:在相应的低 ...
- websocket 403
- Visual Studio 2012 常用快捷键
1. 强迫智能感知:Ctrl+J:2.强迫智能感知显示参数信息:Ctrl-Shift-空格:3.格式化整个块:Ctrl+K+F4. 检查括号匹配(在左右括号间切换): Ctrl +]5. 选中从光标起 ...
- Android EditText组件drawableLeft属性设置的图片和hint设置的文字之间的距离
有的时候,我们需要在文本框里放置icon图片,并且设置默认提示文字的时候,需要设置两者之间的间距,如下图: 这里想设置的就是之前的手机icon和”请输入手机号“之间的距离,则可是使用以下的方式: &l ...
- [Android Tips] 10. Pull out /data/data/${package_name} files without root access
#!/usr/bin/env bash PACKAGE_NAME=com.your.package DB_NAME=data.db rm -rf ${DB_NAME} adb shell " ...
- matlab中实现Gabor滤波器
1.spatialgabor.m描述gabor函数 % SPATIALGABOR - applies single oriented gabor filter to an image%% Usage: ...