带有数组值搜索的php if条件
我有一个php if条件的问题 我有以下变量和数组:带有数组值搜索的php if条件,php,arrays,Php,Arrays,我有一个php if条件的问题 我有以下变量和数组: <?php $appartamenti = array("97", "98", "99", "100"); $appartamentinoloft = array("97", "98", "99"); $case = array("103", "104", "107", "108"); $casevacanze = array("109", "110", "111", "112"); $stanze = array("115", "11
<?php
$appartamenti = array("97", "98", "99", "100");
$appartamentinoloft = array("97", "98", "99");
$case = array("103", "104", "107", "108");
$casevacanze = array("109", "110", "111", "112");
$stanze = array("115", "116");
$uffici = array("113", "114");
$locali = array("117", "118");
$garage = array("119", "120");
$terreni = array("121", "122");
$cantine = array("123", "124");
$tuttenoterreni = array($appartamenti, $case, $casevacanze, $uffici, $garage, $cantine);
?>
我有一个if条件:
<?php if ( osc_item_category_id() == $terreni) { ?>
<?php echo $custom_field_value['dimensioni-terreni'] ;?> mq
<?php } else if ( osc_item_category_id() == $tuttenoterreni) { ?>
<?php echo $custom_field_value['dimensioni'] ;?> mq
<?php } else { ?>
<?php } ?>
mq
mq
osc\u项目\u类别\u id()是一个数值
但不是工作。
我不明白问题出在哪里…如果osc_item_category_id()函数返回第121122号用户,请使用此函数进行比较
<?php
$in_id = osc_item_category_id();
if(in_array($in_id,$terreni)){
echo $custom_field_value['dimensioni-terreni'];
}
?>
如果osc\u item\u category\u id()函数返回编号121122,则使用此函数进行比较
<?php
$in_id = osc_item_category_id();
if(in_array($in_id,$terreni)){
echo $custom_field_value['dimensioni-terreni'];
}
?>
函数的作用是:在数组中搜索特定值
注意:如果搜索参数是字符串且类型参数设置为TRUE,则搜索区分大小写
语法:
在数组中(搜索、数组、类型)
例如:
$people = array("Peter", "Joe", "Glenn", "Cleveland");
if (in_array("Glenn", $people)){
echo "Match found";
}
函数的作用是:在数组中搜索特定值
注意:如果搜索参数是字符串且类型参数设置为TRUE,则搜索区分大小写
语法:
在数组中(搜索、数组、类型)
例如:
$people = array("Peter", "Joe", "Glenn", "Cleveland");
if (in_array("Glenn", $people)){
echo "Match found";
}
$terreni
是一维数组,$tuttenorreni
是多维数组
对于一维数组,请使用函数;对于多维数组,请创建自定义函数以查找此多维数组中的值
我提供了以下代码,它将帮助您在多维数组中查找值。跟随
代码:
<?php
function in_array_r($needle, $haystack, $strict = false) {
foreach ($haystack as $item) {
if (($strict ? $item === $needle : $item == $needle) || (is_array($item) && in_array_r($needle, $item, $strict))) {
return true;
}
}
return false;
}
if (in_array(osc_item_category_id(),$terreni)) {
echo $custom_field_value['dimensioni-terreni'] ;
} elseif(in_array_r(osc_item_category_id(), $tuttenoterreni)) {
echo $custom_field_value['dimensioni'] ;
} else {
echo "Oops.!! No results found.";
}?>
有用的链接:
<?php
function in_array_r($needle, $haystack, $strict = false) {
foreach ($haystack as $item) {
if (($strict ? $item === $needle : $item == $needle) || (is_array($item) && in_array_r($needle, $item, $strict))) {
return true;
}
}
return false;
}
if (in_array(osc_item_category_id(),$terreni)) {
echo $custom_field_value['dimensioni-terreni'] ;
} elseif(in_array_r(osc_item_category_id(), $tuttenoterreni)) {
echo $custom_field_value['dimensioni'] ;
} else {
echo "Oops.!! No results found.";
}?>
$terreni
是一维数组,$tuttenorreni
是多维数组
对于一维数组,请使用函数;对于多维数组,请创建自定义函数以查找此多维数组中的值
我提供了以下代码,它将帮助您在多维数组中查找值。跟随
代码:
<?php
function in_array_r($needle, $haystack, $strict = false) {
foreach ($haystack as $item) {
if (($strict ? $item === $needle : $item == $needle) || (is_array($item) && in_array_r($needle, $item, $strict))) {
return true;
}
}
return false;
}
if (in_array(osc_item_category_id(),$terreni)) {
echo $custom_field_value['dimensioni-terreni'] ;
} elseif(in_array_r(osc_item_category_id(), $tuttenoterreni)) {
echo $custom_field_value['dimensioni'] ;
} else {
echo "Oops.!! No results found.";
}?>
有用的链接:
<?php
function in_array_r($needle, $haystack, $strict = false) {
foreach ($haystack as $item) {
if (($strict ? $item === $needle : $item == $needle) || (is_array($item) && in_array_r($needle, $item, $strict))) {
return true;
}
}
return false;
}
if (in_array(osc_item_category_id(),$terreni)) {
echo $custom_field_value['dimensioni-terreni'] ;
} elseif(in_array_r(osc_item_category_id(), $tuttenoterreni)) {
echo $custom_field_value['dimensioni'] ;
} else {
echo "Oops.!! No results found.";
}?>
你不能“直接”检查这个。您正在尝试比较两种类型的变量
PHP数组是指向“多变量”的指针
如果我正确阅读了代码,那么函数osc_item_category_id可能会返回一个整数。在这种情况下,第一个if将更改为:
<?php if (in_array(osc_item_category_id(), $terreni)) { ?>
您可以在此处查看有关in_数组函数的文档:
elseif也有类似的问题。您已经创建了一个多维数组(数组数组)。您需要在此处使用array_merge函数(请参阅此处的文档:),以创建一个包含其他数组的所有值的唯一数组。然后,您可以检查第一个示例:
$tuttenoterreni = array_merge($appartamenti, $case, $casevacanze, $uffici, $garage, $cantine);
<?php } else if (in_array(osc_item_category_id(), $tuttenoterreni)) { ?>
$tuttentenorreni=array\u merge($appartanti、$case、$casevacanze、$uffici、$garage、$cantine);
您不能“直接”检查此项。您正在尝试比较两种类型的变量
PHP数组是指向“多变量”的指针
如果我正确阅读了代码,那么函数osc_item_category_id可能会返回一个整数。在这种情况下,第一个if将更改为:
<?php if (in_array(osc_item_category_id(), $terreni)) { ?>
您可以在此处查看有关in_数组函数的文档:
elseif也有类似的问题。您已经创建了一个多维数组(数组数组)。您需要在此处使用array_merge函数(请参阅此处的文档:),以创建一个包含其他数组的所有值的唯一数组。然后,您可以检查第一个示例:
$tuttenoterreni = array_merge($appartamenti, $case, $casevacanze, $uffici, $garage, $cantine);
<?php } else if (in_array(osc_item_category_id(), $tuttenoterreni)) { ?>
$tuttentenorreni=array\u merge($appartanti、$case、$casevacanze、$uffici、$garage、$cantine);
使用该功能
数组中的布尔值(值,数组)
如果数组中存在值,则此函数返回true
因此,在代码中修改if和else if条件的内容,例如:
if(在数组中(osc\U项目\U类别\U id(),$terreni))
我在代码中还注意到,在elseif部分,您试图将osc_item_category_id()返回的数值与“array of array”中的值进行比较,而在“if”条件下,您将osc_item_category_id()返回的值与“array”中的值进行比较
如果这是事实,那么在elseif部分中,您需要运行foreach循环,使用上述“in_array()”方法将“osc_item_category_id()”返回的值与每个数组进行比较
希望这能帮上忙 使用该函数
数组中的布尔值(值,数组)
如果数组中存在值,则此函数返回true
因此,在代码中修改if和else if条件的内容,例如:
if(在数组中(osc\U项目\U类别\U id(),$terreni))
我在代码中还注意到,在elseif部分,您试图将osc_item_category_id()返回的数值与“array of array”中的值进行比较,而在“if”条件下,您将osc_item_category_id()返回的值与“array”中的值进行比较
如果这是事实,那么在elseif部分中,您需要运行foreach循环,使用上述“in_array()”方法将“osc_item_category_id()”返回的值与每个数组进行比较
希望这能帮上忙
osc\u item\u category\u id()返回的是什么?osc\u item\u category\u id()返回的是数组还是简单类型?为什么要将数组与==?返回的是什么?osc\u item\u category\u id()
?osc\u item\u category\u id()返回97或98或99或100之类的数字……在这种情况下,如果(在数组中(osc\u item\u category\u id(),$YourArray)){..
osc\u item\u category\u id()返回的是什么?osc\u item\u category\u id()是什么返回数组或只是一个简单类型?以及为什么要将数组与==?返回的是什么osc_项_类别_id()
?osc_ite_类别_id()返回一个像97或98或99或100这样的数字…在这种情况下,请尝试如果(在_数组中(osc_项_类别_id(),$YourArray)){..
尝试存储数组值,而不使用“”,使它们成为整数而不是字符串。t