首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >最快速的PHP等价于javascript `var1 a=var1\xxv2\x/var3;`表达式

最快速的PHP等价于javascript `var1 a=var1\xxv2\x/var3;`表达式
EN

Stack Overflow用户
提问于 2016-04-06 04:01:44
回答 3查看 2.5K关注 0票数 19

首先,这个表达式有名字吗?

Javascript

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var value = false || 0 || '' || !1 || 'string' || 'wont get this far';

value等于string (字符串),也就是第五个选项

PHP

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$value = false || 0 || '' || !1 || 'string' || 'wont get this far';

$value等于true (bool)

我是否正确地认为,通过嵌套三元操作符来实现与JavaScript相同的结果?什么是最好的解决方案?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-04-06 04:21:37

PHP中的等效运算符是?:,它是没有中间部分的三元算子

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$value = false ?: 0 ?: '' ?: !1 ?: 'string' ?: 'wont get this far';

$a ?: $b$a ? $a : $b的缩写。

票数 29
EN

Stack Overflow用户

发布于 2016-04-06 05:38:10

如果您正在使用PHP5.3或更高版本,请参阅欺骗的回答

另外,您可以使用嵌套的正则三元运算符。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$value = ( false ? false : ( 0 ? 0 : ( '' ? '' : ( !1 ? !1 : ( 'string' ? 'string' : ( 'wont get this far' ? 'wont get this far' : null )))))); 

哇那太丑了。

您可以使用一个值数组代替;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$array = array(false,0,'',!1,'string','wont get this far'));

现在创建一个函数,它遍历数组并返回第一个真值。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function array_short_circuit_eval($vars = array()){
    foreach ($vars as $var)if($var)return $var;return null;
}

$value = array_short_circuit_eval($array);

echo $value; // string
票数 2
EN

Stack Overflow用户

发布于 2016-04-06 04:11:53

此测试false || 0 || '' || !1 || true || 'wont get this far'将返回一个布尔值。如果其中任何一个值是true,它将返回true,这就是OR的工作方式。它不是三元表达式,它将第一个有效值应用于接收变量。

它将1返回给PHP,因为您没有将表达式转换为布尔值。

您可以这样做,使表达式返回一个布尔值而不是整数到PHP变量中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$value = (bool)(false || 0 || '' || !1 || true || 'wont get this far');`

返回将是true

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36450547

复制
相关文章
5.11 汇编语言:仿写IF条件语句
条件语句,也称为IF-ELSE语句,是计算机编程中的一种基本控制结构。它允许程序根据条件的真假来执行不同的代码块。条件语句在处理决策和分支逻辑时非常有用。一般来说,条件语句由IF关键字、一个条件表达式、一个或多个代码块以及可选的ELSE关键字和对应的代码块组成。条件表达式的结果通常是布尔值(True或False),决定了程序将执行IF代码块还是ELSE代码块。
微软技术分享
2023/10/11
5990
5.11 汇编语言:仿写IF条件语句
条件语句,也称为IF-ELSE语句,是计算机编程中的一种基本控制结构。它允许程序根据条件的真假来执行不同的代码块。条件语句在处理决策和分支逻辑时非常有用。一般来说,条件语句由IF关键字、一个条件表达式、一个或多个代码块以及可选的ELSE关键字和对应的代码块组成。条件表达式的结果通常是布尔值(True或False),决定了程序将执行IF代码块还是ELSE代码块。
微软技术分享
2023/08/24
2120
Perl 基础语法及数据结构
我也算学了基本脚本语言的人,Au3、Pyhon、PHP、JavaScript、Shell 都用过,但这个家伙是有点让我膛目,语法简直简练到不能再简练了。一下午的时间看了看他的基础语法和示例,做一下记录。
我与梦想有个约会
2023/10/21
1550
Shell 编程(一):Shell 变量的高级用法
变量 string=”Bigdata process framework is Hadoop , Hadoop is an open source project” 执行脚本后,打印输出 string 字符串变量,并给出用户以下选项:
高久峰
2023/09/18
3110
实验(八)Shell 算术运算、选择结构
启动bc程序后会进入交互式计算模式,例如,输入 1.1*3 按回车,会打出计算结果 3.3
esse LL
2023/04/16
5680
Shell 编程(一):Shell 变量的高级用法
变量 string=”Bigdata process framework is Hadoop , Hadoop is an open source project” 执行脚本后,打印输出 string 字符串变量,并给出用户以下选项:
陈大剩博客
2023/02/12
1.2K0
PHP foreach 遍历数组时候如何使用 list()
在 PHP 中,遍历一组非关联的多维数组,大部分代码是这样的: $items = array( array('var1', 'var2', 'var3'), array('var1', 'var2', 'var3'), array('var1', 'var2', 'var3'), array('var1', 'var2', 'var3'), array('var1', 'var2', 'var3'), ); foreach ($items as $item){
Denis
2023/04/14
1.1K0
Win32汇编:各种语句的构造方式
整理复习汇编语言的知识点,以前在学习《Intel汇编语言程序设计 - 第五版》时没有很认真的整理笔记,主要因为当时是以学习理解为目的没有整理的很详细,这次是我第三次阅读此书,每一次阅读都会有新的收获,这次复习,我想把书中的重点,再一次做一个归纳与总结(注:16位汇编部分跳过),并且继续尝试写一些有趣的案例,这些案例中所涉及的指令都是逆向中的重点,一些不重要的我就直接省略了,一来提高自己,二来分享知识,转载请加出处,敲代码备注挺难受的。
微软技术分享
2022/12/28
8810
Win32汇编:各种语句的构造方式
Java代码审计| Spring框架知识篇
在上期的Java代码审计Spring框架思路篇中,斗哥为大家讲述了如何得到Spring审计的Demo,审计源码,根据Spring框架审计思路初步判定是否存在漏洞,剩下就是构造POC,动态调试分析修改POC。本期Java代码审计Spring框架知识篇将讲述Spring构造POC要必备的知识。
漏斗社区
2018/07/26
9860
Java代码审计| Spring框架知识篇
【JAVA代码审计】——1、Spring框架知识篇
本期Java代码审计Spring框架知识篇将讲述Spring构造POC要必备的知识。
用户7886150
2020/12/11
5900
Win32汇编:各种语句的构造方式
整理复习汇编语言的知识点,以前在学习《Intel汇编语言程序设计 - 第五版》时没有很认真的整理笔记,主要因为当时是以学习理解为目的没有整理的很详细,这次是我第三次阅读此书,每一次阅读都会有新的收获,这次复习,我想把书中的重点,再一次做一个归纳与总结(注:16位汇编部分跳过),并且继续尝试写一些有趣的案例,这些案例中所涉及的指令都是逆向中的重点,一些不重要的我就直接省略了,一来提高自己,二来分享知识,转载请加出处,敲代码备注挺难受的。
微软技术分享
2022/12/22
5750
并发编程之CAS(Compare and Swap)原理Unsafe类
AQS,非阻塞数据结构和原子变量类(java.util.concurrent.atomic包中的类),这些concurrent包中的基础类都是使用这种模式来实现的,而concurrent包中的高层类又是依赖于这些基础类来实现的。从整体来看,concurrent包的实现示意图如下:
一个会写诗的程序员
2018/08/20
1K0
并发编程之CAS(Compare and Swap)原理Unsafe类
ReentrantLock原理分析
ReentrantLock是Java并发包中提供的一个可重入的互斥锁,它拥有与synchronized相同的作用,但却比synchronized有更好的性能,在许多高并发编程中都会用到它。由于大部分同学都只停留在了API调用的层次,对ReentrantLock的原理一知半解,甚至一无所知,因此写下了这篇文章,让同学们真正的把ReentrantLock给拿下!
小瑾守护线程
2021/01/17
5550
ReentrantLock原理分析
位运算符实际应用
#include <stdio.h> int main() { // 实际应用1:使用更高效率的移位运算,代替乘除法。 unsigned short var1 = 100; printf("var<<4: %hu\n", var1<<4); printf("var>>2: %hu\n", var1>>2); // 实际应用2:对2进制数据拆分、组合。 var1 = 0x1234; // 拆分 高8位:0x12 低8位:0x34 // 方法1:操作临界数(算术运算) unsig
天天Lotay
2022/12/02
2080
嵌套滑动机制详解
嵌套滑动机制主要涉及两个接口 public interface NestedScrollingChild { void setNestedScrollingEnabled(boolean var1); boolean isNestedScrollingEnabled(); boolean startNestedScroll(int var1);//开启嵌套滚动流程 //循环遍历parent,先判断是否是NestedScrollingParent的实例,如果是,那就调用par
提莫队长
2018/05/18
7660
obligatory category_cglib为什么比jdk快
在一些系统代码中,随处可见的BeanCopier(源于org.springframework.cglib.beans),它主要用在将PO与DTO互转。一些人在惊叹它的高性能的同时,不曾了解它的实现原理(它不使用的反射)!它基于CGLIB代理,CGLIB(Code Generation Library)是高效的代码生成包,底层依靠ASM(开源的Java字节码编辑类库)操作字节码实现。
全栈程序员站长
2022/10/29
1.1K0
Python教程(三):基础数据类型
Python中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
山禾说
2019/01/21
6320
从 Java 开始进入 Kotlin的世界: From Java to Kotlin: JKotlinor从 Java 开始进入 Kotlin的世界: From Java to Kotlin: JKo
在前面的内容里,我们已经看到了Java与Kotlin的互操作的基本方式。为了更好的认识Java与Kotlin这两门语言,我们在这里给出一些基本功能,同时使用Java与Kotlin来实现的代码实例。通过横向对比,从中我们可以看出它们的异同。
一个会写诗的程序员
2018/08/17
4580
Shiro-550 PoC 编写日记
目标是编写Pocsuite3 python版本的Shiro-550 PoC,最好不要依赖其他东西。
Seebug漏洞平台
2020/08/18
1K0
Shiro-550 PoC 编写日记
点击加载更多

相似问题

如何阅读这段JavaScript代码?(var1?var2:var3)

60

JS,这是什么语法?"var3 = (var1 > var2)?var1 : var2“

40

这在var1中是什么:"var var1 =javascript || []“

80

如何批量检查var1不是var2还是var3

23

Rails 3 If语句,,,IF XXX至少等于1 (Var1,Var2,Var3)

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文