草庐IT

弱引用

全部标签

PHP preg_replace 反向引用导致未定义常量通知

我正在尝试在code.google.com上使用NameCase一个php类.当我运行它时,我收到此通知,但我不明白为什么。PHPNotice:UseofundefinedconstantMc-assumed'Mc'innamecase.php(54):regexpcodeonline153if(preg_match('/\bMac[A-Za-z]{2,}[^aciozj]\b/',$str)||preg_match('/\bMc/',$str)){54$str=preg_replace("/\b(Ma?c)([A-Za-z]+)/e","$1.ucfirst('\\2')",$str

php - PHP 中的单例引用和递归

我有一个主Bootstrap类(下面示例中的singleton1),它实例化了一些单例类。在那些单例类中,我需要保留对应用程序主类的引用以便于快速引用它,但这样做给了我一个:Fatalerror:Maximumfunctionnestinglevelof'100'reached,aborting这是示例代码:singleton1=Singleton1::instance();}publicstaticfunctioninstance(){if(!self::$instance){$class=__CLASS__;self::$instance=new$class;}returnself

php - 如何防止在 Yii2 的 SQL 中引用列名

我想用Yii2编写这样的SQL:selectid,1astypefromuser;这是我的代码:$query=User::find()->select(['id','1astype'])->all();1是常量,不是用户字段我想在查询结果中添加字段type=1。 最佳答案 要在查询的某些部分禁用引用和转义,将其包装在yii\db\Expression中:useyii\db\Expression;...$query=User::find()->select(['id',newExpresssion('1astype')])->all(

php - 如何在 phpunit 中引用外部数据提供者?

我正在尝试使用PHPUnit中的通用数据提供程序运行一些测试。看下面的测试:namespaceAppBundle\Tests\Controller;useSymfony\Bundle\FrameworkBundle\Test\WebTestCase;useAppBundle\Tests\DataProvider\XmlDataProvider;classDefaultControllerTestextendsWebTestCase{/***@dataProviderXmlDataProvider::xmlProvider*@coversReceiveController::receiv

php - 通过引用翻译变量替换文本中的占位符

我正在尝试从以下函数中删除eval。我尝试使用sprintf和${},但仍然找不到解决方案。这里是函数:functionparseDbString(string$value='Lookingforagood{{$pippo}}'){$pippo='Pizza';returnpreg_replace_callback('/{{(.*?)}}/',function($res)use($pippo){//$val=${trim($res[1])};Returns"Undefinedvariable:$pippo"$val=@eval("return".trim($res[1]).";");/

php - 在不引用 key 的情况下访问数组

我可以使用$array[key]或$array['key']访问数组值是否有理由避免在另一个之上使用一个? 最佳答案 使用后一种变体$array['key']。前者之所以有效,是因为PHP具有容错性,如果没有名为key的常量,则假定字符串值为key:Alwaysusequotesaroundastringliteralarrayindex.Forexample,$foo['bar']iscorrect,while$foo[bar]isnot.[…]Thisiswrong,butitworks.Thereasonisthatthis[

php - 通过引用传递的不寻常符号?

在遗留的php脚本中,我发现了以下代码行:$CacheLite=&("string");引发错误:Parseerror:syntaxerror,unexpected'(',expectingT_NEWorT_STRINGorT_VARIABLEor'$'这是一个错误还是通过引用传递的方式或其他我不知道的东西。我是否必须在我的php配置中启用/禁用某些功能才能使其正常工作? 最佳答案 在PHP中,您不能通过引用对文字值或表达式进行赋值;它必须是对变量的引用。我不知道那行代码是如何到达那里的(为什么$CacheLite被分配给一些随机字

PHP 通过引用传递数组

在PHP中使用array_splice的正确方法是什么?函数头清楚地写着:array_splice(array&$input,int$offset...所以它应该接受引用作为第一个参数。但是,一条线array_push(&$this->contextsIds,$contextId);触发错误已弃用:调用时间传递引用已在...第132行中弃用如何返回对数组的引用?我有:publicfunction&getContextsIds(){returnis_array($this->contextsIds)?$this->contextsIds:array();}但是它说注意:只有变量引用应该通

PHP 通过引用传递问题

所以我遇到了一个奇怪的问题,函数不是通过引用参数传递定义的,但是对象正在以我无法解释的方式更改。我已经验证函数定义没有一次又一次地通过引用传递。我从数据库中检索了一个对象。然后我在那个初始对象上运行了一个分析函数。我已将该对象复制到另一个变量。然后我对副本而不是原始文件运行不同的分析功能。运行第二个分析函数似乎改变了第一个变量对象。关于这里可能发生的事情的任何想法。我几个小时都在尝试调试它,但我无法解释这种行为。我不想发布实际功能,因为它们是专有信息,但是,我可以私下发送它们以寻求帮助。非常感谢您花时间帮助我。//getobjectfromdb$resp=json_decode($ln

PHP 传递数组作为引用

我正在编写一个类来清理通过ajax调用传递给PHP的字符串,当我将一个字符串传递给这个类时它工作正常但是将数组作为引用传递并且它不会工作。classSanitize{publicstaticfunctionclean(&$str){self::start($str);}publicstaticfunctioncleanArray(&$array){if(self::arrayCheck($array)){foreach($arrayas$key=>$value){if(self::arrayCheck($value)){self::cleanArray($value);}else{se