奇怪的变量赋值

2024-01-21

我最近在研究在网上找到的一些代码,发现了这个 php 语法:

<?php $framecharset && $frame['charset'] = $framecharset; ?>

有人可以解释一下这行代码发生了什么吗? 在语句的该位置,哪些变量被赋予了哪些值,&& 运算符的目的是什么?

谢谢! 拍


啊,我刚刚用 javascript 写了一篇关于这个习惯用法的博客文章:

http://www.mcphersonindustries.com/ http://www.mcphersonindustries.com/

基本上是通过测试来看到的$framecharset存在,然后尝试将其分配给$frame['charset']如果它非空。

它的工作方式是口译员很懒。的两侧&&声明必须真实才能继续。当它遇到一个false值后跟&&,它停止了。它不会继续评估(因此在这种情况下,如果$framecharset is false or null).

有些人甚至会将布尔表达式中更“昂贵”的一半放在&&,所以如果第一个条件不是true,那么昂贵的位将永远不会被处理。这实际上可以节省多少还有争议,但它使用了相同的原理。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

奇怪的变量赋值 的相关文章

  • 设置大型电子邮件通知系统有哪些方法?

    我的公司有一个用 PHP 构建的网站 我们使用内置的 PHP 电子邮件功能每天向订阅者发送数千封电子邮件 这是一个糟糕的主意 它堵塞了我们的服务器 并且需要几个小时才能完成整个批次 现在我已经研究过像 MailChimp 这样的群发邮件服务
  • 所有 PHP 相等比较都是对称的吗?

    Is a b总是等价于 b a 我认为在 JavaScript 中 由于强制转换 有一些奇怪的情况并非如此 I think ide https stackoverflow com questions 4752579 are all php
  • Laravel Auth:attempt() 不会持久登录

    我在网上找到了许多有类似问题的资源 但似乎没有一个解决方案可以解决我的问题 当我使用以下代码登录用户时 一切看起来都很好 email Input get email password Input get password if Auth a
  • Symfony2:为什么请求传递到受 Symfony2 中 AppCache 影响的 Kernel.Terminate EventListener

    在我的 Symfony2 2 应用程序中 我使用 onKernelTerminate EventListener 以便我可以在渲染响应后进行一些 繁重 处理 以便用户收到更快的响应时间 在我的控制器中 我在请求上设置了一个属性 以便当事件侦
  • 选择一组数字以达到最小总数的算法

    给定 一组数字n 1 n 2 n 3 n x 还有一个数字M 我想找到最好的组合 n a n b n c n gt M 该组合应达到达到或超过 M 所需的最小值 没有其他组合可以提供更好的结果 将在 PHP 中执行此操作 因此可以使用 PH
  • 简单的 PHP 回显代码不起作用

    这是我的 html 和 php 脚本 h1 Bob s Auto Parts h1 table width 100 tr tr table 为什么这个输出会出现一个 gt 我希望它是 这有效 仅有的 这是输出 鲍勃的汽车零件 鲍勃
  • 如何让Apache服务index.php而不是index.html?

    如果我将以下行放入index html文件 使 Apache 包含index php file 参观index html页面向我显示了这个 这是为什么 为什么它实际上不包含 PHP 文件 正如其他人指出的那样 您很可能没有 html设置为处
  • 使用 ImageMagick 和 PHP 将 PNG 转换为 JPG 并将透明背景设置为白色

    将图像从 PNG 转换为 JPEG 时 如何使用 ImageMagick 带有 php 扩展 将透明背景设置为白色 在撰写本文时 您尚未指定正在使用哪个扩展 但如果您使用命令行 则命令将是 convert image png backgro
  • PHP 无法打开流:是一个目录

    非常简单的 PHP 脚本 我在我亲自设置的 Ubuntu Web 服务器上的 EE 模板中运行 我知道这与权限有关 并且我已经将我尝试写入的目录的所有者更改为 Apache 用户 我得到的错误是 遇到 PHP 错误 严重性 警告 消息 fi
  • 如何关闭未关闭的 HTML 标签?

    每当我们从数据库或类似来源获取一些经过编辑的用户输入内容时 我们可能会检索仅包含开始标记但不包含结束标记的部分 这可能会妨碍网站当前的布局 有客户端或服务器端的方法来解决这个问题吗 找到了一个很好的答案 使用 PHP 5 并使用 DOMDo
  • 媒体的 Google Cloud Storage 签名网址

    我已经建立了一个视频网站 为用户提供 m3u8 和关联的 ts 文件 我不希望媒体文件免费可用 所以我所做的是 当用户在网站上时 在 mysql 中使用他们的 IP 和令牌创建一个会话 当他们请求特定媒体子域 mp4 domain com
  • 使用 PHP Selenium Webdriver 单击下拉菜单中的选项?

    我正在使用 PHP Selenium Webdriver 包装器Facebook https github com facebook php webdriver 任何人都可以给我一个如何单击或从选择下拉菜单中选择选项的示例吗 我已经尝试过这
  • 获取字符串中的最后一个整数

    我需要隔离包含多个整数的字符串中最新出现的整数 我怎样才能得到23代替1 for lastnum1 text 1 out of 23 lastnum1 this gt getEval eregi replace out of text 你可
  • 通过 URL 指定控制器类与为每个控制器编写一个脚本相比,有何优缺点?

    今年夏天我安装了两个不同的 PHP 系统 每个都使用两种不同的方法 方法 1 每个任务一个 PHP 文件 该方法需要一个PHP为每个主要任务创建文件 例如 我的上传脚本可以通过http www domain com upload php O
  • 访问sendBeacon发送的数据

    文档表明sendBeacon通过发送其数据HTTP POST request 但在 PHP 中 POST变量似乎是一个空数组 这是我的 JavaScript 代码 navigator sendBeacon beacon log php My
  • 检查 PHP 中的字符串长度

    我有一个长度为 141 个字符的字符串 使用下面的代码我有一个if如果字符串大于或小于 140 则语句返回一条消息 libxml use internal errors TRUE dom new DOMDocument dom gt loa
  • 如何在多次尝试后延迟登录尝试 (PHP)

    我正在开发一个用 PHP 构建的相当大的网站 该网站可能会有很多用户 我正在寻找一种方法来保护登录屏幕免受自动尝试的影响 我已经在注册表中添加了验证码检查 但还想进一步强化网站 据我所知 StackOverflow 上也有类似的问题 而且我
  • 使用 Instagram Basic Display API 时出现“无效平台应用程序”错误

    我正在尝试使用 Instagram Basic 显示 API 但是当我发布授权代码以获取访问令牌时 我不断收到以下错误 error type OAuthException 代码 400 error message 平台应用无效 我正在遵循此
  • 重写 URL,将 ID 替换为查询字符串中的标题

    我对 mod rewrite 很陌生 但我做了一些搜索 但找不到这个问题的答案 我有一个网站 它只有一个 PHP 页面 根据查询字符串中传递给它的 ID 提供数十页内容 我想重写 URL 以便此 ID消失并替换为从数据库中提取的页面标题 例
  • 使用 crypt() 加密

    我目前正在做一个非常安全的登录系统 但我是 crypt 函数的新手 需要一些快速帮助 我在注册过程中使用 crypt 加密密码字符串并将其保存到数据库中 但是 我如何在登录过程中解密密钥 或者我应该怎么做 或者是否可以对提交的密码字符串进行

随机推荐

  • 使用 php mysql jquery ajax 更新选择框的值

    我在改变方面面临重大问题status in
  • jvm中的Java对象ID

    调试时 Eclipse 中的对象值附近会显示一个对象 ID 例如 28332是会话对象的ID 另一个例子 waiting for id 101 显示在 调试 面板中 这些 ID 既不是哈希码也不是System identityHashCod
  • 在 Colaboratory 中保存变量状态

    当我运行一个协作实验室中的 Python 脚本 https drive google com file d 1aHl XTDhs24XQ4qcdTgkk2cfF3iatpxj view usp sharing 它正在运行所有以前的代码单元
  • 在 Spring 服务类的所有实例之间共享一个 hashmap 实例

    我打算创建一个实时计数器 因此 一个用户可以增加特定键的计数器值 而另一个则通过 ajax 请求 在循环中或使用某种长轮询方法 获取更新的计数值 我将使用 spring 控制器 它将注入服务类我可以执行如下操作 还是有更好的方法 Servi
  • ASP.NET (OWIN) Identity:如何从 Web API 控制器获取 UserID?

    使用VS2013 RTW ASP NET MVC5 我看过很多有关如何在使用 ASP NET 身份时向 ApplicationUser 类 和表 添加属性的文档 但我还没有看到任何关于如何拥有一个单独的表 其内容通过外键映射到 Applic
  • 如何在类型级别用可选字段表示数据?

    我正在研究具有值 多态 可以是任何值 的控制流数据 而且它也could有一个验证器函数来检查该值是否仍然有效 并且could有一个 刷新值 的函数 返回具有新值的新数据 在 vanilla Haskell 中它可以看起来像这样 data M
  • 是否可以在 Xamarin.Forms 应用程序中引用 .NET Framework 库?

    我有一个 Xamarin Forms 项目 NET Standard 2 0 库 Microsoft NETCore UniversalWindowsPlatform 6 0 7 我想引用 NET Framework 4 6 1 库 我在
  • 本机 Nuget 中的 cdecl 和 stdcall 调用约定

    我正在尝试构建一个本机 nuget 包 它提供了调用约定的支点 为 x86 构建提供了具有 cdecl 和 stdcall 约定的 DLL 大多数用户更喜欢 cdecl 调用约定 但 P Invoke 这个库的 NET 用户出于各种原因更喜
  • 检索 Sharepoint 列表 C#

    我正在尝试检索 SharePoint 列表及其中的所有项目 但我似乎无法获取该列表 我可以正常连接到该网站 但是当我尝试检索列表时 出现 CollectionNotInitialized 错误 我以管理员身份登录并拥有完全控制权限 谁能帮我
  • 执行器完成服务?如果我们有 invokeAll 为什么还需要一个?

    如果我们使用一个执行者完成服务 http docs oracle com javase 8 docs api java util concurrent ExecutorCompletionService html我们可以提交一系列任务Cal
  • 更改searchView的光标颜色

    我知道这个问题已经发布了数百万次 但我无法为我的案例找到可行的解决方案 我需要更改 searchView 的光标颜色 我没有 searchView 的 xml 定义 我以编程方式使用它 这是我的代码 public boolean onCre
  • 每个索引节点有多少字节?

    我需要创建大量不是很大的文件 如 4kb 8kb 这在我的计算机上是不可能的 因为它会将所有 inode 占用高达 100 并且我无法创建更多文件 df i dev sda5 Filesystem Inodes IUsed IFree IU
  • 有没有办法以颜色将文本输出到 R 控制台

    我正在编写一个脚本 我想根据条件以不同的颜色将文本消息输出到控制台 例如 红色表示错误 蓝色表示警告等 我正在使用 RStudio 看看新的crayon package http cran r project org web package
  • Google 容器引擎 (Kubernetes):Websocket (Socket.io) 无法在多个副本上工作

    我是 Google 容器引擎 GKE 的新手 当运行于localhost它工作正常 但是当我使用 GKE 部署到生产环境时 出现了 websocket 错误 我的节点应用程序是用Hapi js and Socket io我的结构如下图所示
  • 如果可能的话,如何在 Objective-C 中声明结构的 typedef 枚举

    为了能够将职位限制为可用职位列表 我尝试了以下声明 typedef enum feedbackPositionMiddle 20 f 80 f feedBackPositionTop 20 f 40 f feedBackPositionBo
  • 在 nlme 中拟合数据的技巧?

    当我将数据放入 nlme 时 我第一次尝试从未成功 之后nlme fit model 我习惯于看到这样的事情 Error in nlme formula model mass SSbgf day w max t e t m random l
  • Cocoa - 如何在故事板模式下将视图的委托连接到文件的所有者?

    当我使用 xib 时 我通过接口生成器将视图的委托连接到文件的所有者 然后进入视图控制器的 h 文件并将其设置为委托以通过 但是在故事板模式下 没有文件的所有者对象 我正在使用一个名为 NinevehGL 的引擎 它简化了使用 openGL
  • Mysql phpMyadmin 超时问题

    我在Mysql中有一个非常大的数据库 我需要以这种方式维护它 例如 Innodb 中大约有 300 000 条记录 我将记录解析到数据库中 但现在我需要通过转换一些字段类型 例如将 long int 转换为tinyint 或其他类型 来完善
  • onActivityResult 不从 viewPager 片段调用

    您好 我在主片段内使用 viewPager 和 Fragmnets 我正在尝试从图库或相机将图像获取为位图 但是在选择照片和 startActivityForResult 后 它没有在 onActivityResult 中捕获 这是我调用
  • 奇怪的变量赋值

    我最近在研究在网上找到的一些代码 发现了这个 php 语法 有人可以解释一下这行代码发生了什么吗 在语句的该位置 哪些变量被赋予了哪些值 运算符的目的是什么 谢谢 拍 啊 我刚刚用 javascript 写了一篇关于这个习惯用法的博客文章