Search Data Custom Array In Model

hi, i want to ask about searching in array in model with cdbcriteria,

i have this code in model




public function search()

	{

		$criteria=new CDbCriteria;

	

		$criteria->compare('tc_color',$this->tc_color);

	

	        return new CActiveDataProvider($this, array(

			'criteria'=>$criteria,

		));

      }



and i have custom array

$arr = array(0=>‘normal’,1=>‘black’,2=>‘white’);

if i search by ‘bla’, how to know that its black, and return 1?

i tried using strpos but no result like this code :




function mappingFlagWhiteBlack($flagWhiteBlack){

$flags = strtolower($flagWhiteBlack);

		

if($flag != '')

{

   if(strpos("normal",$flag) !== false){	return 0;	}

   else if(strpos("list",$flag) !== false){	$arr=array(1,2);	return $arr;}

   else if(strpos("blacklist",$flag) !== false){	return 1;	}

   else if(strpos("whitelist",$flag) !== false){	return 2;	}

   else {	return '-1';	}

}


and the model search

public function search()

	{

		$criteria=new CDbCriteria;

	

		$criteria->compare('tc_color',$this->mappingFlagWhiteBlack($this->tc_color));

	

	        return new CActiveDataProvider($this, array(

			'criteria'=>$criteria,

		));

      }



can someone help me?thanks.