Php 为什么这个功能不起作用?
我知道下面的函数应该返回TRUE,但它不会Php 为什么这个功能不起作用?,php,Php,我知道下面的函数应该返回TRUE,但它不会 function myFunc($str,$array) { foreach($array as $k=>$v) { if(strtolower($v) == strtolower($str)) { return TRUE; } } return false; } 此函数在if语句if($This->myFunc($something,$array)){ 无论我做什么,它都不会返回tr
function myFunc($str,$array)
{
foreach($array as $k=>$v)
{
if(strtolower($v) == strtolower($str))
{
return TRUE;
}
}
return false;
}
此函数在if语句if($This->myFunc($something,$array)){
无论我做什么,它都不会返回true,即使我在返回true上方回显了一些文本;这会显示出来。对于我缺少的内容,如果有任何帮助,那将非常好
很抱歉没有发布代码。我的数组打印以下内容
Array
(
[0] => -1
[1] => Platinum
[2] => 169
)
及
如果-1存在,我尝试返回true。我认为问题不在于该值是否在数组中。我的问题是为什么它不会返回true,它会回显一个值,但不会返回任何内容。我尝试在_数组中使用该函数,但函数仍然没有返回true,这就是我尝试此方法的原因。这可能是我的PH值的问题吗P版本?
我使用strtolower是因为该函数将在整个页面中重复使用以搜索其他值
谢谢我看不出您的功能有什么问题,但作为替代方案,您可以尝试:
return in_array(strtolower($str), array_map("strtolower", $array));
我认为您的功能没有任何问题,但作为替代方案,您可以尝试:
return in_array(strtolower($str), array_map("strtolower", $array));
此函数在if语句if($This->myFunc($something,$array))的类内使用。
将if语句修改为以下内容是否会改变答案
if(myFunc($something,$array))
只是一个想法,因为可能没有在正确的时间计算
$this
。此函数在if语句if($this->myFunc($something,$array))的类中使用。
将if语句修改为以下内容是否会改变答案
if(myFunc($something,$array))
只是一个想法,因为可能没有在正确的时间评估此。您可以使用数组中的
或strcmp来完成此操作
返回值
如果str1小于str2,则返回<0
如果str1大于str2,则为0;如果两者相等,则为0
您可以在数组中使用或strcmp
来完成此操作
返回值
如果str1小于str2,则返回<0
如果str1大于str2,则为0;如果两者相等,则为0
请提供$str和$array的内容。:)我同意粘贴一个var_dump($str);var_dump($array)在函数的开头。您是否在数组上使用print\r进行了调试?显示调用函数的确切代码。此处给出的函数没有问题。这不是您正在使用的确切代码,它不应该返回true,或者您的使用有问题。请告诉我们您是如何使用它的。请se提供$str和$array的内容。:)我同意粘贴一个var_dump($str);var_dump($array)在函数开始处。您是否在数组上使用print\r进行了调试?显示调用函数的确切代码。此处给出的函数没有问题。这不是您正在使用的确切代码,它不应该返回true,或者您的使用有问题。请告诉我们您如何使用它。+1,本质上相同的函数,但使用了两个循环。+1,本质上相同的函数,但使用了两个循环。如果我删除$this,它将抛出函数未定义的错误。如果我删除$this,它将抛出函数未定义的错误。