当前位置: 首页 > 知识库问答 >
问题:

Can($a==1

岳飞航
2023-03-14

类似于这个针对javascript的问题,它已经为各种不同的语言衍生出了许多副产品。我很好奇,在PHP中是否有以下情况:

($a == 1 && $a == 2 && $a == 3)
($a === 1 && $a === 2 && $a === 3)

共有3个答案

屠盛
2023-03-14

出于好奇,我能得到的最接近的方法是稍微修改设置并在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";

在线试试。

齐元章
2023-03-14

虽然与问题不完全一致,但如果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';
}
澹台冯浩
2023-03-14
$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 控制器根据两根线上的电位差来判断总线电平。总线电平分为显性电平和隐性电平,二者必居其一。发送方通过使总线电平发生变化,将消息发送给接收方。