这是关于编程PHP时可能遇到的警告,错误和通知的一些答案,并且不知道如何修复.这也是社区Wiki,因此邀请每个人参与添加和维护此列表.
Stack Overflow上经常弹出诸如"已发送标头"或"调用非对象成员"之类的问题.这些问题的根本原因总是一样的.因此,这些问题的答案通常会重复,然后显示OP在他/她的特定情况下要改变哪一行.这些答案不会为网站添加任何价值,因为它们仅适用于OP的特定代码.具有相同错误的其他用户不能轻易地从中读取解决方案,因为它们过于本地化.这很难过,因为一旦你理解了根本原因,修复错误是微不足道的.因此,该列表试图以一般的方式解释解决方案.
如果您的问题已被标记为重复,请在下面找到您的错误消息并将修复程序应用于您的代码.答案通常包含进一步调查的链接,以防单独的一般答案不清楚.
如果您想贡献,请添加您的"收藏"错误消息,警告或通知,每个答案一个,简短说明它意味着什么(即使它只是突出显示其手册页的术语),可能的解决方案或调试方法和现有问答的清单.此外,随时改善任何现有的答案.
另外,请参阅
根据大多数编程语言范围规则,我可以访问在其中的函数外部定义的变量,但为什么这段代码不起作用?
<?php
$data = 'My data';
function menugen(){
echo "[".$data."]";
}
menugen();
?>
Run Code Online (Sandbox Code Playgroud)
有[]输出.
我有这样一个数组:
$array = Array ( 0 => 'oooo',
1 => 'no',
2 => 'mmmm',
3 => 'yes' );
Run Code Online (Sandbox Code Playgroud)
我想搜索"是"这个词.我知道array_search(),但我想匹配"是","是"和"是".
我怎样才能做到这一点?
php闭包或匿名函数用于创建函数而不指定其名称.
是否可以像在JavaScript中那样分配标识符来调用它们?例如
(function(){
echo('anonymous function');
})();
Run Code Online (Sandbox Code Playgroud)
use在定义匿名函数时构造的正确用法是什么?在具有私有属性可访问性的公共方法中,匿名函数的状态是什么?
$anon_func =
function($my_param) use($this->object_property){ //use of $this is erroneous here
echo('anonymous function');
};
Run Code Online (Sandbox Code Playgroud) 我正在寻找一种可靠的标准方法来对数组进行排序,将有序(关联)数组作为返回值返回.
我读过的关于返回BOOLEAN值的所有PHP.net函数,或0-1.我需要的方法是这样的:
$some_mixed_array = array( 998, 6, 430 );
function custom_sort( $array )
{
// Sort it
// return sorted array
}
custom_sort( $some_mixed_array );
// returning: array( 6, 430, 998 )
Run Code Online (Sandbox Code Playgroud)
不需要处理字符串,只需INT-s.
我想在条件中使用两个值搜索多维数组中的键.
我知道如何使用单个搜索条件搜索多维数组:
$key = array_search($journee, array_column($data,'journee'));
Run Code Online (Sandbox Code Playgroud)
但不仅仅是那个.这是我的阵列设置:
Array
(
[0] => Array
(
[pseudo] => titi
[journee] => 11
[pts] => 3
)
...
[10] => Array
(
[pseudo] => test
[journee] => 10
[pts] => 6
)
[11] => Array
(
[pseudo] => test
[journee] => 11
[pts] => 4
)
)
Run Code Online (Sandbox Code Playgroud)
如果我只11输入array_search和array_column输入密钥journee,它将返回0.
我也想添加pseudo搜索条件(键journee和pseudo应搜索特定值).
我怎么做到这一点?
我将来有几天约会,但想知道它有多少个星期和几天.另外,注意到如果它不到一周,那么它只返回相同的数字.
这可能吗?
例如17天将是2周和3天
例如4天将是4天
从 PHP7 开始,似乎可以像这样直接调用匿名函数:
(function () { echo 'Hello!'; })();
Run Code Online (Sandbox Code Playgroud)
我在一些开源代码库中偶然发现了这一点。我试图在 PHP 文档(包括变更日志和 RFC)中找到任何关于此的提示。似乎没有,似乎完全没有记录。
以这种方式调用函数是否安全,还是应该call_user_func();像过去那样使用?这是在某处记录的吗?
我知道这些问题和答案:
他们只是说它应该起作用以及它是如何起作用的。我知道这个。我的问题不是关于“如何”!这是关于这是否真的是一个官方的 PHP 功能,或者它是否只是“偶然”工作(因为它似乎没有记录)。