$val) if (isset($val[$conditionIndex])) { if (is_array($conditionValue)) { foreach ($conditionValue as $_val) if ($val[$conditionIndex] == $_val and ($validateOption)) $r[$_val]=true; } else if ($val[$conditionIndex] == $conditionValue and ($validateOption)) $r=true; } return $r; } $conditionValue=array(1,2); //--------------------------------------------------------------------- //First $validateOption=true; $array = array(array('Sub_ArrayIndex'=>0),array('props'=>'etc')); var_dump(check_array('Sub_ArrayIndex', $conditionValue, $array, $validateOption)); $array = array(array('Sub_ArrayIndex'=>1),array('props'=>'etc')); var_dump(check_array('Sub_ArrayIndex', $conditionValue, $array, $validateOption)); $array = array(array('Sub_ArrayIndex'=>2),array('props'=>'etc')); var_dump(check_array('Sub_ArrayIndex', $conditionValue, $array, $validateOption)); /* bool(false) array(1) { [1]=> bool(true) } array(1) { [2]=> bool(true) } */ echo "//---------------------------------------------------------------------\n"; //--------------------------------------------------------------------- //Second //this time... i want to REVERSE the result, with changing $validateOption to false $validateOption=false; $array = array(array('Sub_ArrayIndex'=>0),array('props'=>'etc')); var_dump(check_array('Sub_ArrayIndex', $conditionValue, $array, $validateOption)); $array = array(array('Sub_ArrayIndex'=>1),array('props'=>'etc')); var_dump(check_array('Sub_ArrayIndex', $conditionValue, $array, $validateOption)); $array = array(array('Sub_ArrayIndex'=>2),array('props'=>'etc')); var_dump(check_array('Sub_ArrayIndex', $conditionValue, $array, $validateOption)); /* bool(false) bool(false) bool(false) duh... its should be true,false,false */ ?>