函数中的$a++和++$a区别

$a=1;
$b=&$a;
$d=2;
function c(){
global $a,$b,$d;//global相当于引用传址
$a++;//此时$a为2,但是如果直接输出或返回仍然为1
static $d;//static如果不赋值则会将值初始化为null
++$d;//此输出也为1
echo $b;
echo $d;
}
c();//21
c();//32

时间: 2024-12-29 04:50:49

函数中的$a++和++$a区别的相关文章

把数据写入txt中 open函数中 a与w的区别

a: 打开一个文件用于追加.如果该文件已存在,文件指针将会放在文件的结尾. 也就是说,新的内容将会被写入到已有内容之后.如果该文件不存在,创建新文件进行写入. w:  打开一个文件只用于写入.如果该文件已存在则打开文件,并从开头开始编辑, 即原有内容会被删除.如果该文件不存在,创建新文件. 简单说a类似于append,每次运行在原有基础上增加,而w是覆盖. open模式设为a运行两次 代码: 1 filename = 'test.txt' 2 file = open(filename, 'a')

MFC OnPaint()函数中最先调用CDialog::OnPaint()和最后调用CDialog::OnPaint()的巨大区别

OnPaint()函数中最先调用CDialog::OnPaint()和最后调用CDialog::OnPaint()的巨大区别,如果没有注意这个问题就会出现无厘头式的绘图问题-- 效果就是出不来!在经过两个多小时的折磨后法相问题所在,总结出教训: OnPaint()函数中首先就调用CDialog::OnPaint()函数: [cpp] view plain copy //给主窗体客户区添加位图背景 void CBackimageDlg::OnPaint() { CDialog::OnPaint()

向函数中传递指针和传递指针的引用的区别

如果是传递指针,那么会先复制该指针,在函数内部使用的是复制后的指针,这个指针与原来的指针指向相同的地址,如果在函数内部将复制后的指针指向了另外的新的对象,那么不会影响原有的指针:但 是对于传递指针应用,如果将传递进来的指针指向了新的对象,那么原始的指针也就指向了新的对象,这样就会造成内存泄漏,因为原来指针指向的地方已经不能再 引用了,即使没有将传递进来的指针指向新的对象,而是在函数结束的时候释放了指针,那么在函数外部就不能再使用原有的指针了,因为原来的内存已经被释放了 看个例子: #includ

java中String字符串的替换函数:replace与replaceAll的区别

例如有如下x的字符串 String x = "[kllkklk\\kk\\kllkk]";要将里面的“kk”替换为++,可以使用两种方法得到相同的结果 replace(CharSequence target, CharSequence replacement)       ——          x.replace("kk", "++") replaceAll(String regex, String replacement)       —— 

函数中char c[]="hello"与char * c = "hello"区别 -- C

char c[]="hello" 是局部数据. c[0] = 't'; // ok char * c = "hello" 全局数据,在静态存储区域. *c = 't'; // false #include <stdio.h> /* 例子一 */ const char * strA() { /* 正确 通过static开辟一段静态存储空间 */ static char str[] = "hello"; /* 错误 分配一个局部数据,函数

js中创建函数的三种方式及区别

1.函数声明 function sum1(n1,n2){ return n1+n2; }; 2.函数表达式,又叫函数字面量 var sum2=function(n1,n2){ return n1+n2; }; 两者的区别:解析器会先读取函数声明,并使其在执行任何代码之前可以访问:而函数表达式则必须等到解析器执行到它所在的代码行才会真正被解释执行. 自执行函数严格来说也叫函数表达式,它主要用于创建一个新的作用域,在此作用域内声明的变量,不会和其它作用域内的变量冲突或混淆,大多是以匿名函数方式存在,

45、导航钩子函数中使用next()和next(&#39;\指定路径&#39;)的区别:

当在router.beforeEach((to, from, next) 钩子函数中使用: 1.使用next()时,直接跳转到下一页,没有再执行导航钩子函数 2.使用next('指定路径')跳转到指定页面还会执行钩子函数所以会死循环. 所以在钩子函数中使用next('指定路径')时候: 一般会加判断:当不符合条件时使用next('指定路径'),直到符合条件再设置next(). 45.导航钩子函数中使用next()和next('\指定路径')的区别: 原文地址:https://www.cnblog

jquery事件函数和原生事件绑定函数中return false的区别

一直听说jquery中事件函数返回false,相当于调用了event.preventDefault()和event.stopPropagation()两个方法,今天就想看看dom中0级.1级.2级事件绑定事件的话,事件函数返回false会是个什么情况,看看是不是和jquery一个样:<!doctype html><html>        <head>                <meta charset='utf-8' />             

浅谈HTTP中Get与Post的区别_转

可参考:HTTP请求中POST与GET的区别 Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE.URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作.到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息. 1.根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的