草庐IT

弱引用

全部标签

php - 有没有办法在 PHP 中获取引用函数的名称?

我有一个经常在其他函数内部调用的函数,我希望能够自动找出引用函数的名称(如果有)。像这样:functiondo_something(){do_something_else();}functiondo_something_else(){echoreferring_function();//prints'do_something'}有什么简单的方法可以做到这一点吗?请注意,我知道可以通过将名称作为参数传递来手动完成,但我想知道是否有更简单的方法。另外,我不是在寻找__FUNCTION__常量,因为它返回调用它的函数的名称。我想要调用当前函数的函数的名称。 最佳答

php - 通过引用递归函数

我需要从Kohana的Jelly集合中递归回显评论及其各自的子项。我想知道如何通过引用将变量传递给函数。我假设它会是这样的:functionrecursive(&$array){recursive(&$array);}但我不太确定。那么这是正确的还是当我调用该函数时不需要&符号?谢谢。 最佳答案 调用函数时不需要&符号,因为您已经使用&符号声明它接受引用作为参数。所以你只需要这样写:functionrecursive(&$array){recursive($array);}附带说明一下,通常您应该避免在函数调用中添加符号。这称为调用

Foreach 循环中的 PHP 引用对象

假设我有这些类(class):classFoo{public$_data;publicfunctionaddObject($obj){$this->_data['objects'][]=$obj;}}classBar{public$_data;publicfunction__construct(){$this->_data['value']=42;}publicfunctionsetValue($value){$this->_data['value']=$value;}}$foo=newFoo();$bar=newBar();$foo->addObject($bar);foreach(

PHP 和返回空引用(重新访问)

我问了一个question之前,这基本上采用了$null=null方法作为给定,以在PHP中返回空引用。在粗略地谷歌搜索之后,我并没有出现太多;让我假设上述方法是最好的(只读)方式。然而,我觉得PHP会(仍然)不支持这样的功能似乎很奇怪。无论如何,如果不清楚;在PHP中通过引用从函数返回null有哪些(其他,如果有的话)方法?我特别询问有关返回空引用的问题,而不是关于为解释我的链接问题而浮出水面的三元运算符问题。例如:function&return_null(){returnnull;}$null_ref=return_null();//fails但是:function&return_

php - 尝试 SOAP 调用时对象引用未设置为对象错误的实例

我正在尝试使用SOAP/wsdl连接到Web服务并进行身份验证,但我不断收到错误消息:Fatalerror:UncaughtSoapFaultexception:[a:InternalServiceFault]Objectreferencenotsettoaninstanceofanobject.in/path/install.php:16下面是我当前的代码:'test','Password'=>'test');$wsdl_url='https://ws-e-distribution.kmd.dk/standard/ServiceAutorisation/ServiceAutorisa

php - 在 Php 中将用户数据作为对 array_walk_recursive 的引用传递

我尝试通过引用Phpsarray_walk_recursive传递第三个参数$field='foo';array_walk_recursive($config,function($value,$key,&$field){$field='bar';},$field);echo$field//'foo'为什么$field仍然是'foo',尽管它已作为引用传递给函数? 最佳答案 根据phpdocumentationofanonymousfunctions闭包的继承变量必须在函数头中使用关键字use定义,这使我的示例具有:function(

php - 在 PHP 中,通过引用传递大量数据是否比通过值传递更节省资源(更智能)?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:InPHP(>=5.0),ispassingbyreferencefaster?假设我正在处理一个大型(多大并不重要)数据数组并将其传递给一个函数。当然,默认情况下它将按值传递而不是按引用传递。好的,我知道了。所以我的问题是:Ifthedatastoredinthisarraywerelargeenough,canworthwhileperformanceormemoryusagegainsbeexperiencedbystoringthedatainanobject(say,astdClass)orbyus

php - php5函数参数是作为引用还是作为副本传递的?

Php函数参数是作为对对象的引用还是作为对象的副本传递的?在C++中很清楚,但在Php5中我不知道。例子:参数$dom是作为引用还是作为副本传递的? 最佳答案 在PHP5中,对象通过引用传递。好吧,不完全是技术方式,因为它是一个副本-但PHP5中的对象变量存储对象IDENTIFIER,而不是对象本身,所以本质上它与通过引用传递相同。更多在这里:http://www.php.net/manual/en/language.oop5.references.php 关于php-php5函数参数是

php - 为什么在函数内部使用 "global"引用被认为是不好的做法?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:AreglobalvariablesinPHPconsideredbadpractice?Ifso,why?globalinfunctions编辑:上面链接中回答的问题。不,php中的“global”与其他语言中的global不是一回事,虽然它不会引入任何安全问题,但它会使其他人难以理解代码。运算符(operator):项目摘要-我正在编写一个WebCMS来尝试使用PHP/MySQL。为了分解代码,我对这些基本层/模块有一个概念:数据-MySQL表-PHP变量函数-SQL-获取/设置/等-前端-显示页面-后端

php - 用 preg_replace 包裹 <b> 标签中的第一个单词——不能引用全字符串匹配

我用http://gskinner.com/RegExr/生成了以下正则表达式代码它在哪里工作,但是当我用PHP执行它时,它无法在替换字符串中使用匹配项。preg_replace('/(?)\b\w*\b|^\w*\b/','$&','anexample');输出:$&example预期:anexample我知道显然$&没有做正确的事情,但我怎样才能让它工作? 最佳答案 改用这个试试preg_replace('/(?)\b\w*\b|^\w*\b/','$0',$string);$0表示它将成为您的正则表达式中第一个匹配的东西,$1