1

ループで使用される関数がありますが、まったく機能していません。これが私のコードの例です

    function is_banned_category($a) {
    if(!is_array($a)) {
        echo "returning false <Br/>";
        return false;
    }
    $banned_list = array(
        'Shopping',
        'Product Info'
    );
    foreach($a as $cat) {
        if(array_search($cat,$banned_list)) {
            $return = true;
        } else {
            echo "Not found in:'{$cat}' <br/>";
        }
    }
        return $return;
    }
    $a = array('Shopping');
    if(is_banned_category($a)) {
echo "Item will not be added as it's in banned category";
}

どちらが生成されますか:

禁止カテゴリにあるため、アイテムは追加されません

ここで明らかな何かが欠けていますか?「商品情報」では機能するのに「ショッピング」では機能しないのですか?

4

3 に答える 3

1

array_search は、存在する場合は配列値のキーを返すため、この場合、ショッピングの配列キーは「0」です

 if(array_search($cat,$banned_list)) // return 0 

したがって、他の部分は機能します

于 2013-07-25T10:45:50.453 に答える