以下是from loc in fdc.tblStoragelocations
join _on1 in fdc.tblStoragedisks on loc.online1 equals _on1.id into on1
from _on2 in fdc.tblStoragedisks on loc.online2 equals _on2.id into on2
的数组: -
$catids = $_product->getCategoryIds();
如果我然后检查数组中是否有133,则返回false ...
array(3) {
[0]=>
string(1) "2"
[1]=>
string(2) "94"
[2]=>
string(3) "133"
}
这种语法有问题吗?
以下是我想要做的用例...
(如果产品被分配到类别ID 133,则渲染此...)
if (in_array($catids == 133)) {
echo 'true';
} else {
echo 'false';
}
答案 0 :(得分:1)
答案 1 :(得分:0)
您正在以错误的方式使用in_array
功能。
在PHP文档中,您可以找到此函数的说明:
bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )
在您的情况下,您应该致电:
if(in_array('133', $catids))
答案 2 :(得分:0)
查看手册,了解如何使用[in_Array()][1]
您的用法应该是这样的: in_array(133,$ catids)
答案 3 :(得分:0)
尝试:
in_array($catids, '133', true)
答案 4 :(得分:0)
in_array接收您要在数组中找到的元素作为第一个参数。在这种情况下,您将数组与133进行比较。结果将为false,false将传递给in_array函数。
要解决您的问题,您必须调用in_array,其中133作为第一个参数,$ catids作为第二个参数
<?php if (in_array(133,$catids)): ?>