当PHP中的名称相似时,检查值是否为true

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了当PHP中的名称相似时,检查值是否为true脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我在一个名为“hasMonday”,“hasTuesday”,“hasWednesday”等的表中有一些列…使用布尔值来了解某个产品是否属于某一天(可以出现在一天以上)

现在我正在列出日期并显示产品的数据(如果可用)(true).与此类似的东西:

星期一(hasMonday = true)

产品数据,价格等

星期二(hasTuesday = false)

今天没有产品

我用一周的日子做了一个数组,现在我想知道这一天有产品.到目前为止,这是我的代码

$days= array("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday");

          foreach ($days as $day) {

            echo '<div id="$day" class="dayDiv">';
            echo "<h4>$day PRoducts</h4>";
            if ($Product['hasMonday'] = true) {
              // Show the info
            }else{
              // "No info to show" message
          }...

正如您所看到的,上面的代码会在每天重复所有产品,所以我很感激您使用尽可能少的步骤来检查这些产品.就像是:

foreach ($days as $day) {

    echo '<div id="$day" class="dayDiv">';
    echo "<h4>$day Products</h4>";
    if($Product['has.$day']){
        //show the info
    }else{
        // "No info to show" message
}

不确定我写的是否可能,但我相信它有助于更​​多地了解我想要的东西.

提前感谢您的回答

解决方法

我想你正在寻找:

if ($Product["has$day"]) {

你建议的方式(如果($Product [‘has.$day’]){)是在正确的轨道上,但变量不在单引号内解析,并且当interpolating a variable into a string像那样时,并不需要连接运算符(.) .

正如其他人所评论的那样,这种方式在变量之后密钥中有任何附加字符串的情况下不起作用,例如$Product [“$dayIsPresent”]不起作用,因为变量的结尾是不明确的.对于像这样的情况,变量必须是enclosed in brackets才能正确解释(例如$Product [“{$day} IsPresent”]).对于像你这样的情况,变量是字符串中的最后一个东西,括号不是必需的,但如果你愿意,添加它们并没有什么坏处.

如果除了具有true或false值之外,可能实际上没有设置$Product [‘hasMonday’]等,您可以使用!empty而不是简单地评估该数组键的真实性.

if (!empty($Product["has{$day}"])) {

脚本宝典总结

以上是脚本宝典为你收集整理的当PHP中的名称相似时,检查值是否为true全部内容,希望文章能够帮你解决当PHP中的名称相似时,检查值是否为true所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。