类似于这个针对javascript的问题,它已经为各种不同的语言衍生出了许多副产品。我很好奇,在PHP中是否有以下情况:
($a == 1 && $a == 2 && $a == 3)
($a === 1 && $a === 2 && $a === 3)
出于好奇,我能得到的最接近的方法是稍微修改设置并在tick函数中修改变量。由于每个语句只增加记号,因此我们必须中断对多个语句的比较,这样才能工作。
$a = 1;
register_tick_function(function () use (&$a) {
++$a;
});
declare(ticks = 1) {
$a === 1 or exit(1);
$a === 2 or exit(1);
$a === 3 or exit(1);
}
echo "a = $a\n";
在线试试。
虽然与问题不完全一致,但如果INT用引号括起来,则可以这样做:
<?php
class A {
private static $i = 1;
public function __toString()
{
return (string)self::$i++;
}
}
$a = new A();
if($a == '1' && $a == '2' && $a == '3') {
echo 'yep';
} else {
echo 'nope';
}
$a = true;
echo ($a == 1 && $a == 2 && $a == 3);
它发出回声1
。
由于类型转换而非类型检查,1、2、3与布尔值相比将被视为true
。
@FrankerZ评论的黑客方法:
零字节字符=0xFEFF
http://shapecatcher.com/unicode/info/65279
http://www.unicodemap.org/details/0xFEFF/index.html
$var = "1";
$var = "2";
$ var = "3";
echo ($var === "1" && $var === "2" && $ var === "3") ? "true" : "false";
此代码使用此字符运行,因为名称$
我们知道它可以用JavaScript实现。 但是,在Java中,是否可以在下面给出的条件下打印“Success”消息? 有人建议: 但通过这样做,我们改变了实际变量。还有别的办法吗?
问题内容: I’m trying to create a function that will convert a given list into a given dictionary (where I can specify/assign values if I want). So for instance, if I have a list and I want to convert to a
问题内容: I’m using Python’s Imaging Library and I would like to draw some bezier curves. I guess I could calculate pixel by pixel but I’m hoping there is something simpler. 问题答案: A bezier curve isn’t tha
Trash Can 是一个命令行下的回收站,提供一系列脚本用于在 ksh、bash 和 zsh 下运行,提供命令用于文件删除和恢复功能,同时提供从回收站中永久删除的命令。
Ember-can Simple authorisation addon for Ember. Installation Install this addon via ember-cli: ember install ember-can Compatibility Ember.js v3.20 or above Ember CLI v3.20 or above Node.js v12 or abo
CAN 简介 CAN 是控制器局域网络 (Controller Area Network, CAN) 的简称,是由以研发和生产汽车电子产品著称的德国 BOSCH 公司开发的,并最终成为国际标准(ISO 11898),是国际上应用最广泛的现场总线之一。 CAN 控制器根据两根线上的电位差来判断总线电平。总线电平分为显性电平和隐性电平,二者必居其一。发送方通过使总线电平发生变化,将消息发送给接收方。