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 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)