duanli0119 2019-08-08 10:57
浏览 52
已采纳

in_array语句的问题

I want to display certain URL links on a product page only for certain products and for certain countries. Initially, I retrieve the IP of the country then check, the product ID. If the product ID is in the array I display Link 1 if users are from Canada and Link 2 if they are from the US. The problem is that it is not showing anything. Nothing happens within the if statement that contains in_array and not sure what I am doing wrong.

<?php
if ($currentCountry =="CA" || $currentCountry =="US") 
{
    $p_id = $_product->getId();   
    $include_id = array(546, 125,135);
    ?>
    <style>
    .choose-local {
        display: flex;
    }
    .data-section {
        min-width: 33%;
    }
    .choose-local .data-section span {
        float: left;
    }
    </style>
    <?php
    if (in_array($p_id,$include_id, TRUE)) 
    {

        ?>
        <div class='choose-local'>
            <div class='data-section'>
                <span style="">Available Locally from :</span>
            </div>
            <div class="data-section">
                <?php 
                    if ($currentCountry =="CA") 
                    { 
                        ?>
                        <span>Link 1<a href='https://www.link1.com'>[Order from here]</a></span>
                        <?php
                    }

                    if ($currentCountry =="US") 
                    { 
                        ?>        
                        <span>Link 2<a href='https://www.link2.com'>[Order from here]</a></span>
                        <?php 
                    } 
                ?>      
            </div>
        </div>
    <?php 
    }
}
?>
  • 写回答

1条回答 默认 最新

  • dskm94301 2019-08-08 12:00
    关注

    check weather your $p_id is string or int

    <?php
                                    $currentCountry = "CA";
    if ($currentCountry =="CA" || $currentCountry =="US") 
    {
        $p_id = 125;   
        $include_id = array(546, 125,135);
        ?>
        <style>
        .choose-local {
            display: flex;
        }
        .data-section {
            min-width: 33%;
        }
        .choose-local .data-section span {
            float: left;
        }
        </style>
        <?php
        if (in_array($p_id,$include_id, TRUE)) 
        {
    
            ?>
            <div class='choose-local'>
                <div class='data-section'>
                    <span style="">Available Locally from :</span>
                </div>
                <div class="data-section">
                    <?php 
                        if ($currentCountry =="CA") 
                        { 
                            ?>
                            <span>Link 1<a href='https://www.link1.com'>[Order from here]</a></span>
                            <?php
                        }
    
                        if ($currentCountry =="US") 
                        { 
                            ?>        
                            <span>Link 2<a href='https://www.link2.com'>[Order from here]</a></span>
                            <?php 
                        } 
                    ?>      
                </div>
            </div>
        <?php 
        }
    }
    ?>

    </div>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?