我试图在Google上找到这个答案,但我想这个符号&可以作为某个运算符,或者通常不是任何理由的搜索术语.无论如何.我在学习如何创建WordPress插件时看到了这段代码片段,所以我只需要知道&它在一个包含类对象的变量之前的含义.
//Actions and Filters
if (isset($dl_pluginSeries)) {
//Actions
add_action('wp_head', array(&$dl_pluginSeries, 'addHeaderCode'), 1);
//Filters
add_filter('the_content', array(&$dl_pluginSeries, 'addContent'));
}
Run Code Online (Sandbox Code Playgroud) 我只是在方法类型提示中使用问号的PHP(symfony/laravel)代码感觉:
public function functionName(?int $arg = 0)
Run Code Online (Sandbox Code Playgroud)
在其他情况下,?类型不是最后一个,但我没有找到任何没有默认的类型.
问题是,我找不到任何关于此的信息,我查了一下:
和7.2一样,但由于代码只需要7.1,所以看起来很正常.
我也用谷歌搜索,并在这里搜索,但要么这没有记录或问号主题是打败搜索引擎.
所以我现在觉得有点愚蠢,如果有人能够在方法签名参数中对这个问号的含义进行启发,我真的很感激.
谢谢
考虑这个PHP代码:
call_user_func(array(&$this, 'method_name'), $args);
Run Code Online (Sandbox Code Playgroud)
我知道它在定义函数时意味着传递引用,但它是在调用函数时吗?
考虑:
echo 50 >> 4;
Run Code Online (Sandbox Code Playgroud)
输出:
3
Run Code Online (Sandbox Code Playgroud)
为什么输出3?
我总是看到严肃项目中的人们使用::无处不在,而且 - >偶尔只在当地环境中使用.
我只使用 - >我自己,并且在我需要一个类之外的静态值的情况下永远不会结束.我是个坏人吗?
据我了解,唯一->不起作用的情况是我尝试以下时:
class StaticDemo {
private static $static
}
$staticDemo = new StaticDemo( );
$staticDemo->static; // wrong
$staticDemo::static; // right
Run Code Online (Sandbox Code Playgroud)
但是当我不通过简单的公共方法调用时,我是否错过了一些编程正确性::?
或者只是这样我可以在不创建实例的情况下调用方法?
可能重复:
参考 - 这个符号在PHP中意味着什么?
当我在阅读这个php页面时,我不确定在$ var&1中做了什么.
function odd($var)
{
// returns whether the input integer is odd
return($var & 1);
}
Run Code Online (Sandbox Code Playgroud)
它是否返回参考?我不确定.
如果您可以解释它或指导我一个PHP页面,我将不胜感激.
提前致谢.
例:
set_error_handler(array($this, 'handleError'), E_ALL & ~E_STRICT & ~E_WARNING & ~E_NOTICE);
Run Code Online (Sandbox Code Playgroud)
这意味着什么?
我们经常使用$class_object->class_procedure或self::class_procedure在PHP OOP中.在大声朗读您的代码时,您如何阅读这些约定?
是什么?:在这条线是什么意思?
$_COOKIE['user'] ?: getusername($_COOKIE['user']);
Run Code Online (Sandbox Code Playgroud)
谢谢.
我最近在PHP代码中看到了这一行:
$dbObject = json_decode($jsonString);
$dbObject->{'mysql-5.4'}[0]->credentials
Run Code Online (Sandbox Code Playgroud)
这是什么意思?在PHP文档中我们可以阅读,那
方括号和花括号可以互换使用来访问数组元素(例如$ array [42]和$ array {42}在上面的例子中都会做同样的事情).
但是如何定义Object $ dbObject以允许->{...}[...]访问?这段代码有点不安全吗?哪个PHP版本允许这个?
我错过了PHP文档中的任何内容吗?