我应该在这里做什么?
=& 参考
参考任务操作员在PHP, =& 什么意思是“=&”和“&="操作员在PHP? 什么意思是“&=”和“=&”操作员在PHP?
PHP 中的奇怪打印行为?
= 任命运营商
三种不同的平等
如何区分PHP平等(==双等)和身份(===三等)比较操作员?PHP!=和 ==操作员3个不同的平等类型和(严格)较大的/较小的比较在PHP
=== 比较运营商
比特币运营商
上一篇: 逻辑运营商
[ ] Arrays (自 PHP 5.4 以来简短的合成)
PHP 短标签是否可用?
二角形字符范围
# One-line shell 风格评论
NullSafe Operator 通话(自 PHP 8.0 以来)
PHP 中有“零安全操作员”吗?
在 PHP 8 中
而不是写经典!== null 你可以使用操作员写一行代码,代码变得相当清晰:
之前:
$firsName = null;
if ($session !== null) {
$user = $session->user;
if ($user !== null) {
$name = $user->getName();
if ($name !== null) {
$firstName = $name->firstName;
}
}
}
之后:
$firsName = $session?->user?->getName()?->firstName;
使用对比而不是交换. 对比表达使用严格的比较(===) 相反. 对比是严格的,无论严格的类型。
之前:
switch ('A') {
case 'A':
echo "found A";
break;
case 'B':
echo "found B";
break;
}
// Result: "found A"
之后:
echo match ('A') {
'A' => "found A",
'B' => "found B",
};
// Result: "found A"
运营商类型
instanceof 是用来确定一个 PHP 变量是否是一个特定的类别的即时对象。
<?php
class mclass { }
class sclass { }
$a = new mclass;
var_dump($a instanceof mclass);
var_dump($a instanceof sclass);
上面的例子将产生:
bool(true)
bool(false)
原因: 上例 $a 是 mclass 的对象,所以只使用 mclass 数据而不是 sclass 的例子。
继承的例子
<?php
class pclass { }
class childclass extends pclass { }
$a = new childclass;
var_dump($a instanceof childclass);
var_dump($a instanceof pclass);
上面的例子将产生:
bool(true)
bool(true)
与克隆的例子
<?php
class cloneable { }
$a = new cloneable;
$b = clone $a;
var_dump($a instanceof cloneable);
var_dump($b instanceof cloneable);
上面的例子将产生:
bool(true)
bool(true)
问题:
“&”在PHP中意味着什么?
PHP “&” 操作员
使生活更容易,一旦我们习惯了(仔细检查下面的例子)
通常会设置为 $a 和 $b 的检查比特。
你甚至注意到这些电话是如何工作的吗?
error_reporting(E_ERROR | E_WARNING | E_PARSE);
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
error_reporting(E_ALL & ~E_NOTICE);
error_reporting(E_ALL);
因此,上面的一切背后是比特币运营商和比特币的游戏。
其中一个有用的案例是简单的配置,如下所示,这样一个完整的字段可以为您存储成千上万的组合。
大多数人已经阅读了这些文件,但并没有依赖于这些小型运营商的现实世界使用案例。
假设你会爱的
<?php
class Config {
// our constants must be 1,2,4,8,16,32,64 ....so on
const TYPE_CAT=1;
const TYPE_DOG=2;
const TYPE_LION=4;
const TYPE_RAT=8;
const TYPE_BIRD=16;
const TYPE_ALL=31;
private $config;
public function __construct($config){
$this->config=$config;
if($this->is(Config::TYPE_CAT)){
echo 'cat ';
}
if($this->is(Config::TYPE_DOG)){
echo 'dog ';
}
if($this->is(Config::TYPE_RAT)){
echo 'rat ';
}
if($this->is(Config::TYPE_LION)){
echo 'lion ';
}
if($this->is(Config::TYPE_BIRD)){
echo 'bird ';
}
echo "\n";
}
private function is($value){
return $this->config & $value;
}
}
new Config(Config::TYPE_ALL);
// cat dog rat lion bird
new Config(Config::TYPE_BIRD);
//bird
new Config(Config::TYPE_BIRD | Config::TYPE_DOG);
//dog bird
new Config(Config::TYPE_ALL & ~Config::TYPE_DOG & ~Config::TYPE_CAT);
//rat lion bird