Php in_数组语句的问题
我想在产品页面上只显示特定产品和特定国家/地区的特定URL链接。首先,我检索国家的IP,然后检查产品ID。如果产品ID在数组中,如果用户来自加拿大,我将显示链接1,如果用户来自美国,则显示链接2。问题是它没有显示任何东西。在包含在_数组中的if语句中没有发生任何事情,也不确定我做错了什么Php in_数组语句的问题,php,arrays,Php,Arrays,我想在产品页面上只显示特定产品和特定国家/地区的特定URL链接。首先,我检索国家的IP,然后检查产品ID。如果产品ID在数组中,如果用户来自加拿大,我将显示链接1,如果用户来自美国,则显示链接2。问题是它没有显示任何东西。在包含在_数组中的if语句中没有发生任何事情,也不确定我做错了什么 <?php if ($currentCountry =="CA" || $currentCountry =="US") { $p_id = $_product->getId();
<?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
}
}
?>
检查您的$p_id是字符串还是整数 .选择本地{ 显示器:flex; } .数据科{ 最小宽度:33%; } .选择本地.数据段跨度{ 浮动:左; } 可从以下地点获得: 链接1 链接2
$p\u id=$\u product->getId的结果是什么;如果是字符串,则强制转换为整数如果您使用var_dump$p_id,您会得到什么?它是一根绳子吗?如果是,请尝试从in_数组中删除第三个参数。bool是一种严格的模式,它检查typecheck这个变量$p\u id=$\u product->getId;这可能是字符串类型int,在in_数组$p_id,$include_id中,严格检查类型。试试这个$p\u id=intval$\u product->getId;将工作$p_id=intval$_product->getId;作品感谢很多人为我指出了正确的方向。感谢昨天发表评论的用户已经提出了建议。它返回的是字符串而不是整数。这就是它不起作用的原因。