• 关于

    PHP引用参数的函数

    的搜索结果

回答

在使用PHP5.4及以上版本时,在调用函数时,使用引用符号&时,会出现Parse error: syntax error, unexpected '&'或PHP Fatal error:  Call-time pass-by-reference has been removed者,这是由于在函数调用时通过引用传递参数已被弃用,因为它影响了代码的整洁,如果函数的参数没有声明作为引用传递,那么它可以以无文档的方式修改它的参数。为了防止副作用,最好在函数声明中指定哪些参数是通过引用传递的。所以PHP核心配置allow_call_time_pass_reference在PHP5.4被移除,在调用的函数定义中参数为引用参数时,可直接通过传入参数,而不用通过引用符号“&”加参数的方式。 比如一个函数定义在PHP5.4之前为foo($arg1,$arg2),如果想要第二个参数在调用时进行引用传递,在调用时应为foo($v1,&$v2)。而在PHP5.4之后想要进行引用传递,则需要在定义函数时指定哪个参数进行引用传递,如foo($arg1,&$arg2),而在调用时则直接进行调用即可:foo($v1,$v2)。 如果还有问题的话,可以来我网站给我留言提问哦。我会尽量帮你解答的。 云测速

游客ecajo753txe6k 2020-03-01 09:59:55 0 浏览量 回答数 0

问题

如何引用php类外的配置参数 - php报错

montos 2020-05-30 23:39:59 0 浏览量 回答数 1

问题

在PHP中将数组作为参数而不是数组传递

保持可爱mmm 2020-02-06 23:56:49 2 浏览量 回答数 1

阿里云试用中心,为您提供0门槛上云实践机会!

0元试用32+款产品,最高免费12个月!拨打95187-1,咨询专业上云建议!

问题

引用php类外的配置参数,要怎么操作,报错

一枚小鲜肉帅哥 2020-05-27 18:40:44 3 浏览量 回答数 1

问题

如何引用php类外的配置参数 :报错

kun坤 2020-06-06 18:55:38 0 浏览量 回答数 1

问题

如何引用php类外的配置参数 403.10 禁止访问:配置无效 

kun坤 2020-05-27 14:01:32 3 浏览量 回答数 1

回答

把 onclick="sendMM()" 这个代码干掉!###### 第一次点击的时候是触发sendMM()方法,执行"$("#sendMM").click(function(){",这只是为"sendMM"绑定function,并不执行里面的语句. 第二次点击,以我的理解就是,先执行了sendMM()方法,这时候就相当于绑定了两次function,然后又执行了绑定的click事件,所以弹出两次. 以此类推...###### 引用来自#2楼“红薯”的帖子 把 onclick="sendMM()" 这个代码干掉! 已解决,感谢红薯老大 刚学jQuery,犯低级错误了,但是为什么它会累加次数呢,呵呵###### 引用来自#3楼“答复哈”的帖子 第一次点击的时候是触发sendMM()方法,执行"$("#sendMM").click(function(){",这只是为"sendMM"绑定function,并不执行里面的语句. 第二次点击,以我的理解就是,先执行了sendMM()方法,这时候就相当于绑定了两次function,然后又执行了绑定的click事件,所以弹出两次. 以此类推... 点一次响应两次可以理解,但是为什么会一直累加呢###### 多次点击还有错误 [12:09:04.375] POST http://localhost/weibo/user/pub.php [undefined 996ms]###### 引用来自#5楼“刘龙”的帖子 引用来自#3楼“答复哈”的帖子 第一次点击的时候是触发sendMM()方法,执行"$("#sendMM").click(function(){",这只是为"sendMM"绑定function,并不执行里面的语句. 第二次点击,以我的理解就是,先执行了sendMM()方法,这时候就相当于绑定了两次function,然后又执行了绑定的click事件,所以弹出两次. 以此类推... 点一次响应两次可以理解,但是为什么会一直累加呢 累加是因为$("#sendMM").click(function(){}); .click()这个函数,是给$("#sendMM")绑定一个方法,这个方法的内容就是.click()的参数,每点一次,增加绑定一个会弹窗口的函数。 所以就累加啦~###### 引用来自#7楼“SeekerLee”的帖子 引用来自#5楼“刘龙”的帖子 引用来自#3楼“答复哈”的帖子 第一次点击的时候是触发sendMM()方法,执行"$("#sendMM").click(function(){",这只是为"sendMM"绑定function,并不执行里面的语句. 第二次点击,以我的理解就是,先执行了sendMM()方法,这时候就相当于绑定了两次function,然后又执行了绑定的click事件,所以弹出两次. 以此类推... 点一次响应两次可以理解,但是为什么会一直累加呢 累加是因为$("#sendMM").click(function(){}); .click()这个函数,是给$("#sendMM")绑定一个方法,这个方法的内容就是.click()的参数,每点一次,增加绑定一个会弹窗口的函数。 所以就累加啦~ 恩,谢谢,修改后多次点击有时候会提示 [12:09:04.375] POST http://localhost/weibo/user/pub.php [undefined 996ms] 有时候却正常 ###### 引用来自#8楼“刘龙”的帖子 引用来自#7楼“SeekerLee”的帖子 引用来自#5楼“刘龙”的帖子 引用来自#3楼“答复哈”的帖子 第一次点击的时候是触发sendMM()方法,执行"$("#sendMM").click(function(){",这只是为"sendMM"绑定function,并不执行里面的语句. 第二次点击,以我的理解就是,先执行了sendMM()方法,这时候就相当于绑定了两次function,然后又执行了绑定的click事件,所以弹出两次. 以此类推... 点一次响应两次可以理解,但是为什么会一直累加呢 累加是因为$("#sendMM").click(function(){}); .click()这个函数,是给$("#sendMM")绑定一个方法,这个方法的内容就是.click()的参数,每点一次,增加绑定一个会弹窗口的函数。 所以就累加啦~ 恩,谢谢,修改后多次点击有时候会提示 [12:09:04.375] POST http://localhost/weibo/user/pub.php [undefined 996ms] 有时候却正常 没看懂。php错误码?我不会php。###### 引用来自#9楼“SeekerLee”的帖子 引用来自#8楼“刘龙”的帖子 引用来自#7楼“SeekerLee”的帖子 引用来自#5楼“刘龙”的帖子 引用来自#3楼“答复哈”的帖子 第一次点击的时候是触发sendMM()方法,执行"$("#sendMM").click(function(){",这只是为"sendMM"绑定function,并不执行里面的语句. 第二次点击,以我的理解就是,先执行了sendMM()方法,这时候就相当于绑定了两次function,然后又执行了绑定的click事件,所以弹出两次. 以此类推... 点一次响应两次可以理解,但是为什么会一直累加呢 累加是因为$("#sendMM").click(function(){}); .click()这个函数,是给$("#sendMM")绑定一个方法,这个方法的内容就是.click()的参数,每点一次,增加绑定一个会弹窗口的函数。 所以就累加啦~ 恩,谢谢,修改后多次点击有时候会提示 [12:09:04.375] POST http://localhost/weibo/user/pub.php [undefined 996ms] 有时候却正常 没看懂。php错误码?我不会php。 有时候点击会没响应,刷新后就能发送了,在FIREFOX的WEB控制台发现这个错误 [12:09:04.375] POST http://localhost/weibo/user/pub.php [undefined 996ms] 应该是$.ajax里边哪里设置不对吧 ###### 已经解决了,是$.ajax里边的timeout要设置大一点,数据较大时,处理时间可能稍长,超出timeout的设置就中断了

montos 2020-05-31 15:12:55 0 浏览量 回答数 0

回答

把 onclick="sendMM()" 这个代码干掉!###### 第一次点击的时候是触发sendMM()方法,执行"$("#sendMM").click(function(){",这只是为"sendMM"绑定function,并不执行里面的语句. 第二次点击,以我的理解就是,先执行了sendMM()方法,这时候就相当于绑定了两次function,然后又执行了绑定的click事件,所以弹出两次. 以此类推...###### 引用来自#2楼“红薯”的帖子 把 onclick="sendMM()" 这个代码干掉! 已解决,感谢红薯老大 刚学jQuery,犯低级错误了,但是为什么它会累加次数呢,呵呵###### 引用来自#3楼“答复哈”的帖子 第一次点击的时候是触发sendMM()方法,执行"$("#sendMM").click(function(){",这只是为"sendMM"绑定function,并不执行里面的语句. 第二次点击,以我的理解就是,先执行了sendMM()方法,这时候就相当于绑定了两次function,然后又执行了绑定的click事件,所以弹出两次. 以此类推... 点一次响应两次可以理解,但是为什么会一直累加呢###### 多次点击还有错误 [12:09:04.375] POST http://localhost/weibo/user/pub.php [undefined 996ms]###### 引用来自#5楼“刘龙”的帖子 引用来自#3楼“答复哈”的帖子 第一次点击的时候是触发sendMM()方法,执行"$("#sendMM").click(function(){",这只是为"sendMM"绑定function,并不执行里面的语句. 第二次点击,以我的理解就是,先执行了sendMM()方法,这时候就相当于绑定了两次function,然后又执行了绑定的click事件,所以弹出两次. 以此类推... 点一次响应两次可以理解,但是为什么会一直累加呢 累加是因为$("#sendMM").click(function(){}); .click()这个函数,是给$("#sendMM")绑定一个方法,这个方法的内容就是.click()的参数,每点一次,增加绑定一个会弹窗口的函数。 所以就累加啦~###### 引用来自#7楼“SeekerLee”的帖子 引用来自#5楼“刘龙”的帖子 引用来自#3楼“答复哈”的帖子 第一次点击的时候是触发sendMM()方法,执行"$("#sendMM").click(function(){",这只是为"sendMM"绑定function,并不执行里面的语句. 第二次点击,以我的理解就是,先执行了sendMM()方法,这时候就相当于绑定了两次function,然后又执行了绑定的click事件,所以弹出两次. 以此类推... 点一次响应两次可以理解,但是为什么会一直累加呢 累加是因为$("#sendMM").click(function(){}); .click()这个函数,是给$("#sendMM")绑定一个方法,这个方法的内容就是.click()的参数,每点一次,增加绑定一个会弹窗口的函数。 所以就累加啦~ 恩,谢谢,修改后多次点击有时候会提示 [12:09:04.375] POST http://localhost/weibo/user/pub.php [undefined 996ms] 有时候却正常 ###### 引用来自#8楼“刘龙”的帖子 引用来自#7楼“SeekerLee”的帖子 引用来自#5楼“刘龙”的帖子 引用来自#3楼“答复哈”的帖子 第一次点击的时候是触发sendMM()方法,执行"$("#sendMM").click(function(){",这只是为"sendMM"绑定function,并不执行里面的语句. 第二次点击,以我的理解就是,先执行了sendMM()方法,这时候就相当于绑定了两次function,然后又执行了绑定的click事件,所以弹出两次. 以此类推... 点一次响应两次可以理解,但是为什么会一直累加呢 累加是因为$("#sendMM").click(function(){}); .click()这个函数,是给$("#sendMM")绑定一个方法,这个方法的内容就是.click()的参数,每点一次,增加绑定一个会弹窗口的函数。 所以就累加啦~ 恩,谢谢,修改后多次点击有时候会提示 [12:09:04.375] POST http://localhost/weibo/user/pub.php [undefined 996ms] 有时候却正常 没看懂。php错误码?我不会php。###### 引用来自#9楼“SeekerLee”的帖子 引用来自#8楼“刘龙”的帖子 引用来自#7楼“SeekerLee”的帖子 引用来自#5楼“刘龙”的帖子 引用来自#3楼“答复哈”的帖子 第一次点击的时候是触发sendMM()方法,执行"$("#sendMM").click(function(){",这只是为"sendMM"绑定function,并不执行里面的语句. 第二次点击,以我的理解就是,先执行了sendMM()方法,这时候就相当于绑定了两次function,然后又执行了绑定的click事件,所以弹出两次. 以此类推... 点一次响应两次可以理解,但是为什么会一直累加呢 累加是因为$("#sendMM").click(function(){}); .click()这个函数,是给$("#sendMM")绑定一个方法,这个方法的内容就是.click()的参数,每点一次,增加绑定一个会弹窗口的函数。 所以就累加啦~ 恩,谢谢,修改后多次点击有时候会提示 [12:09:04.375] POST http://localhost/weibo/user/pub.php [undefined 996ms] 有时候却正常 没看懂。php错误码?我不会php。 有时候点击会没响应,刷新后就能发送了,在FIREFOX的WEB控制台发现这个错误 [12:09:04.375] POST http://localhost/weibo/user/pub.php [undefined 996ms] 应该是$.ajax里边哪里设置不对吧 ###### 已经解决了,是$.ajax里边的timeout要设置大一点,数据较大时,处理时间可能稍长,超出timeout的设置就中断了

kun坤 2020-06-07 09:01:13 0 浏览量 回答数 0

问题

PHP中的数组是按值还是按引用传递?

保持可爱mmm 2020-01-16 15:24:51 0 浏览量 回答数 1

回答

正常传递参数的场景如下 ...<?php /* $var defined in a.php ... */ $var = 'ssss'; /* print $var out in b.php ... */ echo $var;无法正常传递参数的场景如下 ...<?php /* define a function in t.php ... */ function i( $path ) { /* print value out suppose if $path equals to 'a.php' ... */ echo $var; } /* define $var and call function in b.php ... */ $var = 'ssss'; i( 'a.php' );事实上这么一写你就会发现 ... 参数无法传递的情况与是否使用了 include 完全无关 ...唯一影响参数传递的原因叫做变量作用域 ... 这是编程的基础知识 ... 你可以参考链接 ...现在弄明白了原因 ... 我们来考虑解决方案 ...第一种办法 ... 不传参 ... 直接在函数内部调用全局变量 ... 方法有两种 ... 效果是一样的 ...<?php function i( $path ) { echo $GLOBALS['var']; } <?php function i( $path ) { global $var; echo $var; }这两种方法都是绕过变量作用域让你可以在函数内部获得全局变量的引用 ... 注意是引用 ...也就是如果你一不小心就会修改掉这个全局变量的值 ... 而在多数情况下这不是我们想要的 ...第二种方法 ... 比第一种方法实现起来麻烦 ... 但是更加整洁可靠 ...<?php /* make a new slot named $package ... */ function i( $path, array $package ) { /* extract our package ... */ extract( $package ); /* print just like your are in global scope ... */ echo $var; } /* call function i() like this ... */ i( 'a.php', [ 'var' => 'ssss' ] );

落地花开啦 2019-12-02 02:45:45 0 浏览量 回答数 0

问题

php 函数如何返回多个值

小旋风柴进 2019-12-01 19:50:18 996 浏览量 回答数 1

问题

php的readfile 函数有危险么?

小猪猪 2019-12-01 21:51:14 6476 浏览量 回答数 5

回答

SyntaxError:non-keywordargafterkeywordarg 因为 conn.request(method="POST",url="163_passport/login.do?",params,headers)前面两个是关键字参数,函数调用规定当混合使用关键字参数和非关键字参数时,非关键字参数要在前面 从异常来看,貌似是连接在request前就中断了,建议直接翻下源码看看 试下conn.request(method="POST",url="/post.php",body=params,headers=headers) 要不就改成 conn.request("POST","/post.php",params,headers) 看下这篇文章吧,关于args和kwargs http://jasonwu.me/2012/12/03/args_and_kwargs_in_python.html 上面兄台,我试过,还是报错误,感谢你的帮助,我在查一查相关文档 conn=httplib.HTTPConnection("http://www.163.com/",80) 这个里面的内容 不能带http 引用来自“_yjp”的答案 SyntaxError:non-keywordargafterkeywordarg 因为 conn.request(method="POST",url="163_passport/login.do?",params,headers)前面两个是关键字参数,函数调用规定当混合使用关键字参数和非关键字参数时,非关键字参数要在前面 从异常来看,貌似是连接在request前就中断了,建议直接翻下源码看看

爱吃鱼的程序员 2020-06-22 18:47:05 0 浏览量 回答数 0

问题

【精品问答】PHP常见面试题50问(附答案)

珍宝珠 2019-12-01 21:59:27 1373 浏览量 回答数 1

回答

" 把 onclick="sendMM()" 这个代码干掉!###### 第一次点击的时候是触发<span style=""font-family: 微软雅黑, Verdana, Simsun, sans-serif;"">sendMM()方法,执行"<span style=""font-family: Consolas, 'Courier New', Courier, mono, serif; font-size: 12px; line-height: 14px;"">$(<span class=""string"" style=""color: blue; background-color: inherit; padding: 0px; margin: 0px; border: initial none initial;"">"#sendMM"<span style=""color: black; background-color: inherit; padding: 0px; margin: 0px; border: initial none initial;"">).click(<span class=""keyword"" style=""color: #006699; background-color: inherit; font-weight: bold; padding: 0px; margin: 0px; border: initial none initial;"">function<span style=""color: black; background-color: inherit; padding: 0px; margin: 0px; border: initial none initial;"">(){",这只是为"<span style=""font-family: 微软雅黑, Verdana, Simsun, sans-serif;"">sendMM"绑定function,并不执行里面的语句. 第二次点击,以我的理解就是,先执行了sendMM()方法,这时候就相当于绑定了两次function,然后又执行了绑定的click事件,所以弹出两次. 以此类推...###### 引用来自#2楼“红薯”的帖子 把 onclick="sendMM()" 这个代码干掉! 已解决,感谢红薯老大 刚学jQuery,犯低级错误了,但是为什么它会累加次数呢,呵呵###### 引用来自#3楼“答复哈”的帖子 第一次点击的时候是触发sendMM()方法,执行"$("#sendMM").click(function(){",这只是为"sendMM"绑定function,并不执行里面的语句. 第二次点击,以我的理解就是,先执行了sendMM()方法,这时候就相当于绑定了两次function,然后又执行了绑定的click事件,所以弹出两次. 以此类推... 点一次响应两次可以理解,但是为什么会一直累加呢###### 多次点击还有错误 [12:09:04.375] POST http://localhost/weibo/user/pub.php [undefined 996ms]###### 引用来自#5楼“刘龙”的帖子 引用来自#3楼“答复哈”的帖子 第一次点击的时候是触发sendMM()方法,执行"$("#sendMM").click(function(){",这只是为"sendMM"绑定function,并不执行里面的语句. 第二次点击,以我的理解就是,先执行了sendMM()方法,这时候就相当于绑定了两次function,然后又执行了绑定的click事件,所以弹出两次. 以此类推... 点一次响应两次可以理解,但是为什么会一直累加呢 累加是因为$("#sendMM").click(function(){}); .click()这个函数,是给$("#sendMM")绑定一个方法,这个方法的内容就是.click()的参数,每点一次,增加绑定一个会弹窗口的函数。 所以就累加啦~###### 引用来自#7楼“SeekerLee”的帖子 引用来自#5楼“刘龙”的帖子 引用来自#3楼“答复哈”的帖子 第一次点击的时候是触发sendMM()方法,执行"$("#sendMM").click(function(){",这只是为"sendMM"绑定function,并不执行里面的语句. 第二次点击,以我的理解就是,先执行了sendMM()方法,这时候就相当于绑定了两次function,然后又执行了绑定的click事件,所以弹出两次. 以此类推... 点一次响应两次可以理解,但是为什么会一直累加呢 累加是因为$("#sendMM").click(function(){}); .click()这个函数,是给$("#sendMM")绑定一个方法,这个方法的内容就是.click()的参数,每点一次,增加绑定一个会弹窗口的函数。 所以就累加啦~ 恩,谢谢,修改后多次点击有时候会提示 [12:09:04.375] POST http://localhost/weibo/user/pub.php [undefined 996ms] 有时候却正常 ###### 引用来自#8楼“刘龙”的帖子 引用来自#7楼“SeekerLee”的帖子 引用来自#5楼“刘龙”的帖子 引用来自#3楼“答复哈”的帖子 第一次点击的时候是触发sendMM()方法,执行"$("#sendMM").click(function(){",这只是为"sendMM"绑定function,并不执行里面的语句. 第二次点击,以我的理解就是,先执行了sendMM()方法,这时候就相当于绑定了两次function,然后又执行了绑定的click事件,所以弹出两次. 以此类推... 点一次响应两次可以理解,但是为什么会一直累加呢 累加是因为$("#sendMM").click(function(){}); .click()这个函数,是给$("#sendMM")绑定一个方法,这个方法的内容就是.click()的参数,每点一次,增加绑定一个会弹窗口的函数。 所以就累加啦~ 恩,谢谢,修改后多次点击有时候会提示 [12:09:04.375] POST http://localhost/weibo/user/pub.php [undefined 996ms] 有时候却正常 没看懂。php错误码?我不会php。###### 引用来自#9楼“SeekerLee”的帖子 引用来自#8楼“刘龙”的帖子 引用来自#7楼“SeekerLee”的帖子 引用来自#5楼“刘龙”的帖子 引用来自#3楼“答复哈”的帖子 第一次点击的时候是触发sendMM()方法,执行"$("#sendMM").click(function(){",这只是为"sendMM"绑定function,并不执行里面的语句. 第二次点击,以我的理解就是,先执行了sendMM()方法,这时候就相当于绑定了两次function,然后又执行了绑定的click事件,所以弹出两次. 以此类推... 点一次响应两次可以理解,但是为什么会一直累加呢 累加是因为$("#sendMM").click(function(){}); .click()这个函数,是给$("#sendMM")绑定一个方法,这个方法的内容就是.click()的参数,每点一次,增加绑定一个会弹窗口的函数。 所以就累加啦~ 恩,谢谢,修改后多次点击有时候会提示 [12:09:04.375] POST http://localhost/weibo/user/pub.php [undefined 996ms] 有时候却正常 没看懂。php错误码?我不会php。 有时候点击会没响应,刷新后就能发送了,在FIREFOX的WEB控制台发现这个错误 [12:09:04.375] POST http://localhost/weibo/user/pub.php [undefined 996ms] 应该是$.ajax里边哪里设置不对吧 ###### 已经解决了,是$.ajax里边的timeout要设置大一点,数据较大时,处理时间可能稍长,超出timeout的设置就中断了" ![image.png](https://ucc.alicdn.com/pic/developer-ecology/e5e1564407364385ad4f1356b0ab708d.png)

montos 2020-05-30 22:59:50 0 浏览量 回答数 0

问题

编辑器测试

养狐狸的猫 2019-12-01 22:01:10 72 浏览量 回答数 0

回答

这是程序的入口啊,没有它怎么执行? ###### 用过字符操作界面吗? ls -a -a 就会被输入到main()中,成为参数 ######比如你想写一个小程序,计算数字1到n之间的总和,这个n由用户输入,这时你就要用main函数的参数了######哦 是这个意思,不能在程序里定义n?###### 谢谢各位,3q ###### 哈,这个是唯一的可变信息的入口。例如: 一个程序可以存在自己的参数配置文件,对该文件解析后设定这些参数。但该文件路径名你想不固定,那么还是需要通过上述参数给入。 c标准支持 main (void)的接口。但是对于我带的团队,仍然禁止使用main(void)。。。 ######argc是参数个数,*argv[]是参数数组,用来接收命令行参数,怎么会没有用. #include <stdio.h>nano ab.c #include <stdio.h> int main(int argc, char *argv[]) {     fprintf(stderr,"argc: %d\n",argc);     int i;     for(i=0;i<argc;i++) {         fprintf(stderr,"argv[%d]: %s\n",i,argv[i]);     }     return 0; } 编译: gcc ab.c -o ab 运行: ./ab -c10 -n500 http://127.0.0.1/index.php 结果: argc: 4 argv[0]: ./ab argv[1]: -c10 argv[2]: -n500 argv[3]: http://127.0.0.1/index.php Linux上在Bash里运行程序后使用 echo $? 查看返回值. Windows上在CMD里运行程序后使用 echo %ERRORLEVEL% 查看返回值. main函数的返回值用于说明程序的退出状态.如果返回0,则代表程序正常退出,返回其它数字的含义则由系统决定. return 0;  执行 echo $? 值为 0 return 2;  执行 echo $? 值为 2 return 1;  执行 echo $? 值为 1 return -1; 执行 echo $? 值为 255 return -2; 执行 echo $? 值为 254 ###### 引用来自“中山野鬼”的评论 哈,这个是唯一的可变信息的入口。例如: 一个程序可以存在自己的参数配置文件,对该文件解析后设定这些参数。但该文件路径名你想不固定,那么还是需要通过上述参数给入。 c标准支持 main (void)的接口。但是对于我带的团队,仍然禁止使用main(void)。。。 明白了,这就是我想了解的意思,谢谢 这是程序的入口啊,没有它怎么执行? ###### 用过字符操作界面吗? ls -a -a 就会被输入到main()中,成为参数 ######比如你想写一个小程序,计算数字1到n之间的总和,这个n由用户输入,这时你就要用main函数的参数了######哦 是这个意思,不能在程序里定义n?###### 谢谢各位,3q ###### 哈,这个是唯一的可变信息的入口。例如: 一个程序可以存在自己的参数配置文件,对该文件解析后设定这些参数。但该文件路径名你想不固定,那么还是需要通过上述参数给入。 c标准支持 main (void)的接口。但是对于我带的团队,仍然禁止使用main(void)。。。 ######argc是参数个数,*argv[]是参数数组,用来接收命令行参数,怎么会没有用. #include <stdio.h>nano ab.c #include <stdio.h> int main(int argc, char *argv[]) {     fprintf(stderr,"argc: %d\n",argc);     int i;     for(i=0;i<argc;i++) {         fprintf(stderr,"argv[%d]: %s\n",i,argv[i]);     }     return 0; } 编译: gcc ab.c -o ab 运行: ./ab -c10 -n500 http://127.0.0.1/index.php 结果: argc: 4 argv[0]: ./ab argv[1]: -c10 argv[2]: -n500 argv[3]: http://127.0.0.1/index.php Linux上在Bash里运行程序后使用 echo $? 查看返回值. Windows上在CMD里运行程序后使用 echo %ERRORLEVEL% 查看返回值. main函数的返回值用于说明程序的退出状态.如果返回0,则代表程序正常退出,返回其它数字的含义则由系统决定. return 0;  执行 echo $? 值为 0 return 2;  执行 echo $? 值为 2 return 1;  执行 echo $? 值为 1 return -1; 执行 echo $? 值为 255 return -2; 执行 echo $? 值为 254 ###### 引用来自“中山野鬼”的评论 哈,这个是唯一的可变信息的入口。例如: 一个程序可以存在自己的参数配置文件,对该文件解析后设定这些参数。但该文件路径名你想不固定,那么还是需要通过上述参数给入。 c标准支持 main (void)的接口。但是对于我带的团队,仍然禁止使用main(void)。。。 明白了,这就是我想了解的意思,谢谢

kun坤 2020-06-11 10:12:49 0 浏览量 回答数 0

回答

参数限制类型好像只有‘数组’和’对象‘,string这种类型限制不存在<imgsrc="http://www.oschina.net/js/ke/plugins/emoticons/images/17.gif"alt=""> http://php.net/manual/en/language.oop5.typehinting.php php不支持简单类型作为typehint,但是hhvm是支持int和string的 这叫类型提示,我记得支持对象,还有一个好像,不记得了,手册上面有写的,我见过。 类似强类型语言的函数声明一样。<divclass='ref'> 引用来自“甘薯”的评论 正如楼上所言, 只是定义在函数参数中作为一种提示之用,没有任何实际意义,你可以定义为任何类型哪怕是xxyy这种都不会错,就像注释一样,会被解释器略过. 已经把误导的言论删除了. php这种做法真的是很无语,四不像... 要么你就完全类型检查,要么就干脆不支持,这种半成品的东西拿出来有什么意义... 做不到完全类型检查干脆就不要搞...要么就做成支持完整的伪类型,就像注释一样提供给HHVM之类的神器分析转换代码用... 要不是这东西开发web比java短平快,还真用起来挺别扭...

爱吃鱼的程序员 2020-06-14 17:48:14 0 浏览量 回答数 0

回答

可能代码放得太多了,大家莫有心情看下去 ######你管你正常的写分页,其他的事情是 rewrite 去做的######不行的啊,不成功###### 引用来自“cema”的答案 你管你正常的写分页,其他的事情是 rewrite 去做的 代码里我是这么写的 pageft($countnews,$page_size,1,1,0,6,20,1,$url="news-p(这里我不知道怎么放参数).html"); .htaccess里我是这么写的 RewriteRule ^([a-zA-Z]+)-p([0-9]+).html$ index.php?action=$1&page=$2 结果运行出来的是这样的 news-p(这里不知道怎么写).html?page=1...,不知道为什么 html后面怎么会有参数?page,可能是累里面的判断有关,到底该怎么解决呢 ######回复 @cema : 还是不行,谢谢了###### @cema 你 rewrite 如果没错的话,你分页函数直接传 action 进去 然后函数里 $action-下一页数.html 就是下一页的地址###### @YIPU 你的action 好像没有重写,也不清除你的思路###### @YIPU 去掉 action 是这样的,RewriteRule ^([a-zA-Z]+)-p([0-9]+).html$ $1index.php?page=$2######回复 @cema : 帅哥具体点啊,新手 啊###### 引用来自“YIPU”的答案 引用来自“cema”的答案 你管你正常的写分页,其他的事情是 rewrite 去做的 代码里我是这么写的 pageft($countnews,$page_size,1,1,0,6,20,1,$url="news-p(这里我不知道怎么放参数).html"); .htaccess里我是这么写的 RewriteRule ^([a-zA-Z]+)-p([0-9]+).html$ index.php?action=$1&page=$2 结果运行出来的是这样的 news-p(这里不知道怎么写).html?page=1...,不知道为什么 html后面怎么会有参数?page,可能是累里面的判断有关,到底该怎么解决呢 这个参数是分页类加上去的吧 ######我就是不知道加哪个啊######继续求助 ###### @leo108 ###### @红薯 ######你的分页类不支持这种伪静态,要改的话挺麻烦######那你有没有更好的分页类

kun坤 2020-06-09 22:12:33 0 浏览量 回答数 0

回答

这个很难吧?! 你说数字1,是属于什么字符集?一切皆有可能。###### 你最好自己肉眼读一下服务器这段文本,将它放在浏览器里面读,用不同的编码试试,哪个显示正常,就是哪种编码了。###### 引用来自#3楼“张敏峰”的帖子 你最好自己肉眼读一下服务器这段文本,将它放在浏览器里面读,用不同的编码试试,哪个显示正常,就是哪种编码了。 这样不行。让PHP自动判断编码格式,都转换成UTF-8的。搜到一个帖子,是通过判断文件头来判断编码,但是我觉得应该有更简单的方法。mb_convert_encoding($text, 'UTF-8','GB2312,UTF-8');这个函数基本实现了功能,但是有些编码如Unicode就会乱码 (用记事本保存时可以选,不知道是不是一种编码)。应该把尽量多的编码放到函数第三个参数上就可以吧。###### 不知道文件头信息里面会不会有文件的编码方式的标记。###### 引用来自#5楼“凹凸曼”的帖子 不知道文件头信息里面会不会有文件的编码方式的标记。 utf-8好像有固定的文件头,别的不知道。###### 回复的时候怎么出来个  {"id":10311,"post":256271957,"user":8876,"post_count":5}   红薯看一下问题。###### mb_convert_encoding用编码列表,一般ascii打头,GB2312、GBK、UTF-8基本够用了。###### 编码的顺序是很有讲究的,如果编码是ascii的就不要转换###### 引用来自#9楼“dj”的帖子 编码的顺序是很有讲究的,如果编码是ascii的就不要转换   也就是用 mb_convert_encoding($text, 'UTF-8','ascii,GB2312,gbk,UTF-8');  ? 第三个参数是文本的原编码,检测到与第二个参数相同时就不进行转码了?

kun坤 2020-06-07 17:14:14 0 浏览量 回答数 0

回答

和CodeIgniter没有半毛钱关系。 PHP自带soap扩展,直接用就行。你说的nosoaplib,是一个很老很老的已经被抛弃的落伍玩意了。至于SOAP-ERROR: Parsing WSDL: Couldn't load from ,只因为那个地址本来就打不开。至少在我这是打不开的 ###### 引用来自“南湖船老大”的答案 和 CodeIgniter没有半毛钱关系。 PHP自带soap扩展,直接用就行。你说的nosoaplib,是一个很老很老的已经被抛弃的落伍玩意了。至于SOAP-ERROR: Parsing WSDL: Couldn't load from ,只因为那个地址本来就打不开。至少在我这是打不开的 太感谢了!那请你看看这个能不能打开:http://218.192.168.30:81/Design_Time_Addresses/AccountService/xml/ 再看看这个:http://218.192.168.30:81/Design_Time_Addresses/AccountService/xml/SendMessage/a 其中,SendMessage是远程WCF服务中的一个函数,a是传进去的参数。这会返回一个XML格式的文档。 如果你那边上述链接可以打开的话,请问在CodeIgniter这个框架下怎么样用代码实现?还需要做哪些配置? 多谢指教了!!! ###### 引用来自“hsdscut”的答案 引用来自“南湖船老大”的答案 和 CodeIgniter没有半毛钱关系。 PHP自带soap扩展,直接用就行。你说的nosoaplib,是一个很老很老的已经被抛弃的落伍玩意了。至于SOAP-ERROR: Parsing WSDL: Couldn't load from ,只因为那个地址本来就打不开。至少在我这是打不开的 太感谢了!那请你看看这个能不能打开:http://218.192.168.30:81/Design_Time_Addresses/AccountService/xml/ 再看看这个:http://218.192.168.30:81/Design_Time_Addresses/AccountService/xml/SendMessage/a 其中,SendMessage是远程WCF服务中的一个函数,a是传进去的参数。这会返回一个XML格式的文档。 如果你那边上述链接可以打开的话,请问在CodeIgniter这个框架下怎么样用代码实现?还需要做哪些配置? 多谢指教了!!! 都可以打开。 我都说了,和CodeIgniter 无关,您不能别提这个单词啊 。这就是纯PHP干的事情。google一下“PHP SOAP教程”就有了。

kun坤 2020-06-04 10:42:11 0 浏览量 回答数 0

回答

一。zval、引用计数、变量分离、写时拷贝我们一步步来理解1、php语言特性PHP是脚本语言,所谓脚本语言,就是说PHP并不是独立运行的,要运行PHP代码需要PHP解析器,用户编写的PHP代码最终都会被PHP解析器解析执行PHP的执行是通过Zend engine(ZE, Zend引擎),ZE是用C编写的用户编写的PHP代码最终都会被翻译成PHP的虚拟机ZE的虚拟指令(OPCODES)来执行也就说最终会被翻译成一条条的指令既然这样,有什么结果和你预想的不一样,查看php源码是最直接最有效的 2、php变量的存储结构在PHP中,所有的变量都是用一个结构zval结构来保存的,在Zend/zend.h中可以看到zval的定义:zval结构包括:① value —— 值,是真正保存数据的关键部分,定义为一个联合体(union)② type —— 用来储存变量的类型 ③ is_ref —— 下面介绍④ refcount —— 下面介绍 声明一个变量$addr="北京";PHP内部都是使用zval来表示变量的,那对于上面的脚本,ZE是如何把addr和内部的zval结构联系起来的呢?变量都是有名字的(本例中变量名为addr)而zval中并没有相应的字段来体现变量名。PHP内部肯定有一个机制,来实现变量名到zval的映射在PHP中,所有的变量都会存储在一个数组中(确切的说是hash table)当你创建一个变量的时候,PHP会为这个变量分配一个zval,填入相应的信息,然后将这个变量的名字和指向这个zval的指针填入一个数组中。当你获取这个变量的时候,PHP会通过查找这个数组,取得对应的zval 注意:数组和对象这类复合类型在生成zval时,会为每个单元生成一个zval3、我们经常说每个变量都有一个内存地址,那这个zval和变量的内存地址,这俩有什么关系吗?定义一个变量会开辟一块内存,这块内存好比一个盒子,盒子里放了zval,zval里保存了变量的相关信息,需要开辟多大的内存,是由zval所占空间大小决定的zval是内存对象,垃圾回收的时候会把zval和内存地址(盒子)分别释放掉 4、引用计数、变量分离、写时拷贝zval中的refcount和is_ref还没有介绍,我们知道PHP是一个长时间运行的服务器端脚本。那么对于它来说,效率和资源占用率是一个很重要的衡量标准,也就是说,PHP必须尽量减少内存占用率。考虑下面这段代码:第一行代码创建了一个字符串变量,申请了一个大小为9字节的内存,保存了字符串“laruence”和一个NULL(0)的结尾第二行定义了一个新的字符串变量,并将变量var的值“复制”给这个新的变量第三行unset了变量var 这样的代码是很常见的,如果PHP对于每一个变量赋值都重新分配内存,copy数据的话,那么上面的这段代码就要申请18个字节的内存空间,为了申请新的内存,还需要cpu执行某些计算,这当然会加重cpu的负载而我们也很容易看出来,上面的代码其实根本没有必要申请两份空间,当第三句执行后,$var被释放了,我们刚才的设想(申请18个字节内存空间)突然变的很滑稽,这次复制显得好多余。如果早知道$var不用了,直接让$var_dup用$var的内存不就行了,还复制干嘛?如果你觉得9个字节没什么,那设想下如果$var是个10M的文件内容,或者20M,是不是我们的计算机资源消耗的有点冤枉呢?呵呵,PHP的开发者也看出来了: 刚才说了,PHP中的变量是用一个存储在symbol_table中的符号名,对应一个zval来实现的,比如对于上面的第一行代码,会在symbol_table中存储一个值“var”,对应的有一个指针指向一个zval结构,变量值“laruence”保存在这个zval中,所以不难想象,对于上面的代码来说,我们完全可以让“var”和“var_dup”对应的指针都指向同一个zval就可以了(额,鸟哥一会说hash table,一会说symbol_table,暂且理解为symbol_table是hash table的子集) PHP也是这样做的,这个时候就需要介绍一下zval结构中的refcount字段了refcount,引用计数,记录了当前的zval被引用的次数(这里的引用并不是真正的 & ,而是有几个变量指向它)比如对于代码:第一行,创建了一个整形变量,变量值是1。 此时保存整形1的这个zval的refcount为1第二行,创建了一个新的整形变量(通过赋值的方式),变量也指向刚才创建的zval,并将这个zval的refcount加1,此时这个zval的refcount为2所以,这个时候(通过值传递的方式赋值给别的变量),并没有产生新的zval,两个变量指向同一zval,通过一个计数器来共用zval及内存地址,以达到节省内存空间的目的当一个变量被第一次创建的时候,它对应的zval结构的refcount的值会被初始化为1,因为只有这一个变量在用它。但是当你把这个变量赋值给别的变量时,refcount属性便会加1变成2,因为现在有两个变量在用这个zval结构了 PHP提供了一个函数可以帮助我们了解这个过程debug_zval_dump输出:long(1) refcount(2)long(1) refcount(3)如果你奇怪 ,var的refcount应该是1啊?我们知道,对于简单变量,PHP是以传值的形式传参数的。也就是说,当执行debug_zval_dump($var)的时候,$var会以传值的方式传递给debug_zval_dump,也就是会导致var的refcount加1,所以只要能看到,当变量赋值给一个变量以后,能导致zval的refcount加1这个结果即可现在我们回头看上面的代码, 当执行了最后一行unset($var)以后,会发生什么呢?unset($var)的时候,它删除符号表里的$var的信息,准备清理它对应的zval及内存空间,这时它发现$var对应的zval结构的refcount值是2,也就是说,还有另外一个变量在一起用着这个zval,所以unset只需把这个zval的refcount减去1就行了上代码:输出:string(8) "laruence" refcount(2) 但是,对于下面的代码呢?很明显在这段代码执行以后,$var_dup的值应该还是“laruence”,那么这又是怎么实现的呢?这就是PHP的copy on write机制(简称COW):PHP在修改一个变量以前,会首先查看这个变量的refcount,如果refcount大于1,PHP就会执行一个分离的过程(在Zend引擎中,分离是破坏一个引用对的过程)对于上面的代码,当执行到第三行的时候,PHP发现$var想要改变,并且它指向的zval的refcount大于1,那么PHP就会复制一个新的zval出来,改变其值,将改变的变量指向新的zval(哪个变量指向新复制的zval其实已经无所谓了),并将原zval的refcount减1,并修改symbol_table里该变量的指针,使得$var和$var_dup分离(Separation)。这个机制就是所谓的copy on write(写时复制,这里的写包括普通变量的修改及数组对象里的增加、删除单元操作)如果了解了is_ref之后,上面说的并不严谨 上代码测试:输出:long(1) refcount(2)string(8) "laruence" refcount(2) 现在我们知道,当使用变量复制的时候 ,PHP内部并不是真正的复制,而是采用指向相同的zval结构来节约开销。那么,对于PHP中的引用,又是如何实现呢?这段代码结束以后,$var也会被间接的修改为1,这个过程称作(change on write:写时改变)那么ZE是怎么知道,这次的复制不需要Separation呢?这个时候就要用到zval中的is_ref字段了:对于上面的代码,当第二行执行以后,$var所代表的zval的refcount变为2,并且设置is_ref为1到第三行的时候,PHP先检查var_ref对应的zval的is_ref字段(is_ref 表示该zval是否被&引用,仅表示真或假,就像开关的开与关一样,zval的初始化情况下为0,即非引用),如果为1,则不分离,直接更改(否则需要执行刚刚提到的zval分离),更改共享的zval实际上也间接更改了$var的值,因为引擎想所有的引用变量都看到这一改变php源码做了这样一个判断,大体逻辑示意如下:如果这个zval中的if_ref为1(即被引用),或者该zval引用计数小于2任何一种方式:都不会进行分离 尽管已经存在写时复制和写时改变,但仍然还存在一些不能通过is_ref和refcount来解决的问题对于如下的代码,又会怎样呢?这里$var、$var_dup、$var_ref三个变量将共用一个zval结构(其实这是不可能的,一个zval不可能既被&,又被指向),有两个属于change-on-write组合($var和$var_ref),有两个属于copy-on-write组合($var和$var_dup),那is_ref和refcount该怎样工作,才能正确的处理好这段复杂的关系呢?答案是不可能!在这种情况下,变量的值必须分离成两份完全独立的存在当执行第二行代码的时候,和前面讲过的一样,$var_dup 和 $var 指向相同的zval, refcount为2当执行第三行的时候,PHP发现要操作的zval的refcount大于1,则PHP会执行Separation(也就是说php将一个zval的is_ref从0设为1 之前,当然此时refcount还没有增加,会看该zval的refcount,如果refcount>1,则会分离), 将$var_dup分离出去,并将$var和$var_ref做change on write关联。也就是,refcount=2, is_ref=1;所以内存会给变量var_dup 分配出一个新的zval,类型与值同 $var和$var_ref指向的zval一样,是新分配出来的,尽管他们拥有同样的值,但是必须通过两个zval来实现。试想一下,如果三者指向同一个zval的话,改边 $var_dup 的值,那么 $var和$var_ref 也会受到影响,这样就乱套了图解:下面的这段代码在内核中同样会产生歧义,所以需要强制复制!也就是说一个zval不会既被引用,又被指向,必须分离 基于这样的分析,我们就可以让debug_zval_dump出refcount为1的结果来:输出:string(8) "laruence" refcount(1) 为什么结果是refcount(1)呢debug_zval_dump()中参数是引用的话,refcount永远为1这两段代码在执行的时候是这样的逻辑:PHP先看变量指向的zval是否被引用,如果是引用,则不再产生新的zval甭管哪个变量引用了它,比如有个变量$a被引用了,$b=&$a,就算自己引用自己$a=&$a,$a所指向的zval都不会被复制,改变其中一个变量的值,另一个值也被改变(写时改变)如果is_ref为0且refcount大于1,改变其中一个变量时,复制新的zval(写时复制) 还有一个知识点需要了解下,就是PHP数组复制的机制复制一个数组,就是把一个数组赋值给一个变量便可。会把数组指针位置一同复制。这里面有两种情况:① 指针位置合法,这时直接复制,无影响② 原数组指针位置非法时(移出界),“新”数组指针会初始化(这里的新为什么要加引号?请看下文),而老的数组指针位置不变,还是false先看例子: 结果:!结果:出现这种情况好像不对?$arr2 难道不是新数组?新数组的数组指针应该重置了啊这里注意了:$arr2 = $arr1 ,在俩变量都没发生写操作时,他们其实引用的是同一个内存地址。在其中一个变量发生写操作后,内存地址会复制一份,发生改变的变量会去引用它,并把数组指针初始化。所以 $arr1 会去引用复制的内存地址,并将指针初始化二。.foreach循环时调用current等函数!结果: 56按照之前说的,foreach先赋值,再移动指针,再执行循环体,第一次结果为2可以理解为什么三次都是2呢?咋就这么2呢?因为current函数是按引用传递的函数 在zval笔记中说了,一个zval不能既被引用,又被指向所以,变量分离,重新拷贝一份数组专门用于current函数 当然,如果数组zval的is_ref为1,则不会拷贝数组了或者:结果:current是引用传参

杨冬芳 2019-12-02 02:26:33 0 浏览量 回答数 0

问题

PHP SDK开发包

青衫无名 2019-12-01 21:48:55 889 浏览量 回答数 0

回答

"你用的测试号? ######<div class=""ref""> 引用来自“要疼爱佳旻”的评论你用的测试号? 用的是自己公司的测试号######遇到同样的问题。 ###### 引用来自“夏天飘过的风”的评论遇到同样的问题。 requesthandle 这个类有bug ,已经解决了 主要是key赋值和init 两个函数有bug######回复 @lvzjane : md5 加密key 这个在哪里?一直没找到######回复 @lvzjane : 那两个问题改好了。公众号签名错误######回复 @lvzjane : 我看到他加密之前判断了啊!不为空才加密的啊!我的 QQ 525140874######回复 @lvzjane :init已经改过了! 最好给我代码,急求代码!给我留言啊!######回复 @Beyond-Bit : md5加密的时候拿到的key值为空,腾讯官方demo的bug,还有init方法参数没对应上###### 鉴于过多同学遇到此问题,我把官方demo,java版本出现的三个bug列出来,希望大家少走弯路 1.requestHandler的init方法参数列表有问题 2.md5加密的时候key值没有赋值 3.jspapi中signParams集合中的key值都要小写,它的noncestr大写导致签名无效 ###### 之前php也是有bug的.官方估计都是手敲但是不测的######http://git.oschina.net/gson/wechat可以参考这个里面得###### 引用来自“lvzjane”的评论 鉴于过多同学遇到此问题,我把官方demo,java版本出现的三个bug列出来,希望大家少走弯路 1.requestHandler的init方法参数列表有问题 2.md5加密的时候key值没有赋值 3.jspapi中signParams集合中的key值都要小写,它的noncestr大写导致签名无效 我折腾出来了。详情参见:http://hi.baidu.com/321diy/item/5f0193c7ab52d0d49744524b "

montos 2020-06-03 15:13:11 0 浏览量 回答数 0

回答

MySQL扩展: 没有积极发展 被正式弃用的PHP 5.5(发布2013年6月)。 自PHP 7.0(2015年12月发布) 起已完全删除。 这意味着截至2018年12月31日,任何受支持的PHP版本中都不存在该文件。如果使用的PHP版本支持该版本,则使用的版本不会解决安全问题。 缺乏OO接口 不支持: 非阻塞异步查询 预备语句或参数化查询 储存程序 多条陈述 交易次数 “新”密码身份验证方法(MySQL 5.6中默认为启用; 5.7中为必需) MySQL 5.1或更高版本中的任何新功能 由于不建议使用,因此使用它会使您的代码不再受将来的考验。 缺少对准备好的语句的支持尤为重要,因为它们提供了比使用单独的函数调用手动转义更清晰,更少出错的转义和引用外部数据的方法。 请参见SQL扩展的比较。 来源:stack overflow

保持可爱mmm 2020-05-08 09:27:41 0 浏览量 回答数 0

回答

引用这个配置文件,赋给某个变量,再打印就行了。 $arr = include('config.php'); print_r($arr); ###### C方法是ThinkPHP用于设置、获取,以及保存配置参数的方法,使用频率较高。可以使用C方法。######回复 @五纬空间 : 去看看C函数怎么实现的不就行了?######我想问的不是用啥方法,当然手册上是说用C方法调用,我问的是道理,因为没有变量名,如何获取呢。######看来楼主对于对象还是有点没大掌握,这里的return返回的是谁?array吧!array是啥?对象啊!这样就可以通过array这个php自带的对象打印出来了。######加载配置文件,直接返回数组。

kun坤 2020-06-14 15:36:32 0 浏览量 回答数 0

回答

引用这个配置文件,赋给某个变量,再打印就行了。 $arr = include('config.php'); print_r($arr); ######C方法是ThinkPHP用于设置、获取,以及保存配置参数的方法,使用频率较高。可以使用C方法。######回复 @五纬空间 : 去看看C函数怎么实现的不就行了?######我想问的不是用啥方法,当然手册上是说用C方法调用,我问的是道理,因为没有变量名,如何获取呢。######看来楼主对于对象还是有点没大掌握,这里的return返回的是谁?array吧!array是啥?对象啊!这样就可以通过array这个php自带的对象打印出来了。######加载配置文件,直接返回数组。

kun坤 2020-06-02 14:54:55 0 浏览量 回答数 0

回答

" 引用这个配置文件,赋给某个变量,再打印就行了。 $arr = include('config.php'); print_r($arr); ###### C方法是ThinkPHP用于设置、获取,以及保存配置参数的方法,使用频率较高。可以使用C方法。######回复 @五纬空间 : 去看看C函数怎么实现的不就行了?######我想问的不是用啥方法,当然手册上是说用C方法调用,我问的是道理,因为没有变量名,如何获取呢。######看来楼主对于对象还是有点没大掌握,这里的return返回的是谁?array吧!array是啥?对象啊!这样就可以通过array这个php自带的对象打印出来了。######加载配置文件,直接返回数组。"

montos 2020-06-03 22:32:33 0 浏览量 回答数 0

回答

这么晚了,我是来帮顶的。。。。真心不会C######回复 @中山野鬼 : Microsoft认为自己就是标准。######多谢多谢。。。。。。。。。真心想不出windows为什么这么变态不按posix的标准走。。。。。######留名,php是最好的语言→_→######va_list 是个啥东西啊。######这是win的问题还是cygwin的问题啊?###### 引用来自“欣儿”的评论这是win的问题还是cygwin的问题啊? WIN下,是直接使用可变参存储的指针的,这个我以前有影响,va_list params;这个参数传入子函数出来,是不变的。。。mac和linux下,va_list是一个结构体,实际可变参存储的指针是在结构体内的,所以params传入后,子函数对可变参的调整是可以在其他函数中体现出来的。 我怀疑8成是cygwin的错误。。。 ###### 和系统有关系,MAC OS 和 Linux 是64位的,Windows 可能是 32 位的,确定是否用了64位的系统和编译器... ######回复 @ZeroOne : 32bit 应该是 4,抱歉,我看错了,windows下面是char *######就算是32位吧,那结果也不应该是8,而应该是12。。。###### 引用来自“自由之信”的评论 和系统有关系,MAC OS 和 Linux 是64位的,Windows 可能是 32 位的,确定是否用了64位的系统和编译器... 一个指针的sizeof是8个byte,难道32位有这个功能吗?哈。 sizeof(va_list) == 8 ,意思是说,他采用了  typedef char * va_list; 的方式定义,而mac 和 linux 下,显然不是这么定义。。。 ###### 鬼鬼, 是否和字节对齐方式有关系? 既然va_list是一个struct. 这里有一篇百度知道不晓得是否有用: http://zhidao.baidu.com/link?url=oCUdbozYmFqCVfyNgZ0T1_Tl0xjMHxzNszyiVHJXOgpk_XNDP50W8WipJaeBYwjW8_lClEjTcgs2srnIP9C-_aurl=oCUdbozYmFqCVfyNgZ0T1_Tl0xjMHxzNszyiVHJXOgpk_XNDP50W8WipJaeBYwjW8_lClEjTcgs2srnIP9C-_a windows是不允许重新定义 _M_ALPHA 这个编译参数的 ###### 引用来自“中山野鬼”的评论 引用来自“自由之信”的评论 和系统有关系,MAC OS 和 Linux 是64位的,Windows 可能是 32 位的,确定是否用了64位的系统和编译器... 一个指针的sizeof是8个byte,难道32位有这个功能吗?哈。 sizeof(va_list) == 8 ,意思是说,他采用了  typedef char * va_list; 的方式定义,而mac 和 linux 下,显然不是这么定义。。。 抱歉,我知道,因为两个的ABI接口定义不一样,所以定义的有所不同,不过这应该不影响其va_list的使用,如果使用方式正确的话,我觉得把你使用的这部分代码贴出来,看看会好一点 ###### 引用来自“ZeroOne”的评论 鬼鬼, 是否和字节对齐方式有关系? 既然va_list是一个struct. 这里有一篇百度知道不晓得是否有用: http://zhidao.baidu.com/link?url=oCUdbozYmFqCVfyNgZ0T1_Tl0xjMHxzNszyiVHJXOgpk_XNDP50W8WipJaeBYwjW8_lClEjTcgs2srnIP9C-_aurl=oCUdbozYmFqCVfyNgZ0T1_Tl0xjMHxzNszyiVHJXOgpk_XNDP50W8WipJaeBYwjW8_lClEjTcgs2srnIP9C-_a windows是不允许重新定义 _M_ALPHA 这个编译参数的 和字节对齐没关系哦。win下面就是 typedef char * va_list ;,我是奇怪,为什么cygwin不能按照linux下的方式处理。。。。######回复 @中山野鬼 : 恕我知道的很少,但是我看了下Cygwin里面的stdarg.h,没有的,里面有一个vararg.h,现在是空的,本来这个是Windows的定义(估计)######回复 @自由之信 : 我重复下我的问题,始终是“mac ,linux下的 va_list不是个char * ,win下是char * ,cygwin是否有正确的方式将va_list按照linux的规范来处理,而不是处理成char * ".哈######回复 @ZeroOne : 最可能是代码有问题,va_list的定义在Cygwin里面,本来就是char *,这并不影响va_list的使用######回复 @ZeroOne : 和_M_ALPHA没关系。现在也不是在谈重定义问题。哈。######没看我发给你的链接? 里面有一段话, YohanChn: 明白了,ANSI C/C++规定了6个ANSI Predefined Macros,是不能被用户定义或重定义的,而后Microsoft又补充了14个Microsoft-Specific Predefined Macros,也是不能被用户定义或重定义的。_M_ALPHA就是这14个中的一个。

montos 2020-05-31 13:04:02 0 浏览量 回答数 0

回答

这么晚了,我是来帮顶的。。。。真心不会C######回复 @中山野鬼 : Microsoft认为自己就是标准。######多谢多谢。。。。。。。。。真心想不出windows为什么这么变态不按posix的标准走。。。。。######留名,php是最好的语言→_→######va_list 是个啥东西啊。######这是win的问题还是cygwin的问题啊?###### 引用来自“欣儿”的评论这是win的问题还是cygwin的问题啊? WIN下,是直接使用可变参存储的指针的,这个我以前有影响,va_list params;这个参数传入子函数出来,是不变的。。。mac和linux下,va_list是一个结构体,实际可变参存储的指针是在结构体内的,所以params传入后,子函数对可变参的调整是可以在其他函数中体现出来的。 我怀疑8成是cygwin的错误。。。 ###### 和系统有关系,MAC OS 和 Linux 是64位的,Windows 可能是 32 位的,确定是否用了64位的系统和编译器... ######回复 @ZeroOne : 32bit 应该是 4,抱歉,我看错了,windows下面是char *######就算是32位吧,那结果也不应该是8,而应该是12。。。###### 引用来自“自由之信”的评论 和系统有关系,MAC OS 和 Linux 是64位的,Windows 可能是 32 位的,确定是否用了64位的系统和编译器... 一个指针的sizeof是8个byte,难道32位有这个功能吗?哈。 sizeof(va_list) == 8 ,意思是说,他采用了  typedef char * va_list; 的方式定义,而mac 和 linux 下,显然不是这么定义。。。 ###### 鬼鬼, 是否和字节对齐方式有关系? 既然va_list是一个struct. 这里有一篇百度知道不晓得是否有用: http://zhidao.baidu.com/link?url=oCUdbozYmFqCVfyNgZ0T1_Tl0xjMHxzNszyiVHJXOgpk_XNDP50W8WipJaeBYwjW8_lClEjTcgs2srnIP9C-_aurl=oCUdbozYmFqCVfyNgZ0T1_Tl0xjMHxzNszyiVHJXOgpk_XNDP50W8WipJaeBYwjW8_lClEjTcgs2srnIP9C-_a windows是不允许重新定义 _M_ALPHA 这个编译参数的 ###### 引用来自“中山野鬼”的评论 引用来自“自由之信”的评论 和系统有关系,MAC OS 和 Linux 是64位的,Windows 可能是 32 位的,确定是否用了64位的系统和编译器... 一个指针的sizeof是8个byte,难道32位有这个功能吗?哈。 sizeof(va_list) == 8 ,意思是说,他采用了  typedef char * va_list; 的方式定义,而mac 和 linux 下,显然不是这么定义。。。 抱歉,我知道,因为两个的ABI接口定义不一样,所以定义的有所不同,不过这应该不影响其va_list的使用,如果使用方式正确的话,我觉得把你使用的这部分代码贴出来,看看会好一点 ###### 引用来自“ZeroOne”的评论 鬼鬼, 是否和字节对齐方式有关系? 既然va_list是一个struct. 这里有一篇百度知道不晓得是否有用: http://zhidao.baidu.com/link?url=oCUdbozYmFqCVfyNgZ0T1_Tl0xjMHxzNszyiVHJXOgpk_XNDP50W8WipJaeBYwjW8_lClEjTcgs2srnIP9C-_aurl=oCUdbozYmFqCVfyNgZ0T1_Tl0xjMHxzNszyiVHJXOgpk_XNDP50W8WipJaeBYwjW8_lClEjTcgs2srnIP9C-_a windows是不允许重新定义 _M_ALPHA 这个编译参数的 和字节对齐没关系哦。win下面就是 typedef char * va_list ;,我是奇怪,为什么cygwin不能按照linux下的方式处理。。。。######回复 @中山野鬼 : 恕我知道的很少,但是我看了下Cygwin里面的stdarg.h,没有的,里面有一个vararg.h,现在是空的,本来这个是Windows的定义(估计)######回复 @自由之信 : 我重复下我的问题,始终是“mac ,linux下的 va_list不是个char * ,win下是char * ,cygwin是否有正确的方式将va_list按照linux的规范来处理,而不是处理成char * ".哈######回复 @ZeroOne : 最可能是代码有问题,va_list的定义在Cygwin里面,本来就是char *,这并不影响va_list的使用######回复 @ZeroOne : 和_M_ALPHA没关系。现在也不是在谈重定义问题。哈。######没看我发给你的链接? 里面有一段话, YohanChn: 明白了,ANSI C/C++规定了6个ANSI Predefined Macros,是不能被用户定义或重定义的,而后Microsoft又补充了14个Microsoft-Specific Predefined Macros,也是不能被用户定义或重定义的。_M_ALPHA就是这14个中的一个。

kun坤 2020-06-08 11:18:47 0 浏览量 回答数 0
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站