为一定值检查会话阵列 [英] Checking session array for certain value

查看:120
本文介绍了为一定值检查会话阵列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

 函数CHECKITEMEXIST($ cartarray,$分){
    的foreach($ cartarray为$项目){
        的foreach($项目作为ITEM2 $){
            如果($ ITEM2 ['主题'] = $子){
                返回'1';            }其他{
                返回'0';
            }
        }
    }
}$主题=英语;
    $ checkitemexist = CHECKITEMEXIST($车,$主题);如果($ checkitemexist大于0){
    回声是;
}其他{
    回声否;
}

家伙,我将拥有以下功能来检查我的车阵,看英语题目中是否存在与否,但问题是在车阵中甚至不是英语,那么它仍然会返回结果是YES,为什么会这样?

下面是样品车阵。

 阵列([0] =>数组([0] =>数组([主题] =>科学)))


解决方案

使其正确

 如果($ ITEM2 ['主题'] = $子){// =是赋值运算符

 如果($ ITEM2 ['主题'] == $子){// ==是比较运算符

更新2:

尝试修改的功能

 函数CHECKITEMEXIST($ cartarray,$分){
$国旗= 0;
    的foreach($ cartarray为$项目){
        的foreach($项目作为ITEM2 $){
            如果($ ITEM2 ['主题'] == $子){
                $标志= 1;
            打破;
            }
        }
        如果($标志== 1)
        {
            打破;
        }
    }
返回$标志;
}

function CHECKITEMEXIST($cartarray, $sub){
    foreach ($cartarray as $item){
        foreach ($item as $item2){
            if($item2['subject'] = $sub){
                return '1';

            }else{
                return '0';
            }
        }
    }
}

$subject = "English";
    $checkitemexist = CHECKITEMEXIST($cart, $subject);

if($checkitemexist > 0){
    echo "Yes";
}else{
    echo "No";
}

Guys I have the function below to check my cart array to see whether english subject exist or not, but the problem is even when english isn't in the cart array it will still return yes result, why is that so?

Below are the sample cart array.

Array ( [0] => Array ( [0] => Array ( [subject] => science ) ) )

解决方案

make it correct

if($item2['subject'] = $sub){   // = is an assignment operator

to

if($item2['subject'] == $sub){  // == is a comparison operator

UPDATE 2 :

try your modified function

function CHECKITEMEXIST($cartarray, $sub){
$flag = 0;
    foreach ($cartarray as $item){
        foreach ($item as $item2){
            if($item2['subject'] == $sub){
                $flag = 1;
            break;
            }
        }
        if($flag==1)
        {
            break;
        } 
    }
return $flag;   
}

这篇关于为一定值检查会话阵列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆