protected function combiner($names)
	{
		$return = array('');
		$names = array_values($names);

		for ($i=0, $c=\count($names); $i<$c; $i++)
		{
			$buffer = array();

			foreach ($return as $k=>$v)
			{
				$buffer[] = ($k%2 == 0) ? $v : $v.$names[$i];
				$buffer[] = ($k%2 == 0) ? $v.$names[$i] : $v;
			}

			$return = $buffer;
		}

		return array_filter($return);
	}
protected function combiner($names)
	{
		$return = array('');
		$names = array_values($names);

		for ($i=0, $c=\count($names); $i<$c; $i++)
		{
			$buffer = array();

			foreach ($return as $k=>$v)
			{
				$buffer[] = ($k%2 == 0) ? $v : $v.$names[$i];
				$buffer[] = ($k%2 == 0) ? $v.$names[$i] : $v;
			}

			$return = $buffer;
		}

		return array_filter($return);
	}
protected function combiner ( $ names ) { $ return = array ( '' ) ; $ names = array_values ( $ names ) ; for ( $ i = 0 , $ c = \ count ( $ names ) ; $ i < $ c ; $ i ++ ) { $ buffer = array ( ) ; foreach ( $ return as $ k => $ v ) { $ buffer [ ] = ( $ k % 2 == 0 ) ? $ v : $ v . $ names [ $ i ] ; $ buffer [ ] = ( $ k % 2 == 0 ) ? $ v . $ names [ $ i ] : $ v ; } $ return = $ buffer ; } return array_filter ( $ return ) ; }
Generate possible palette names from an array by taking the first value and either adding or not adding the following values

@param array $names

@return array
Generate possible palette names from an array by taking the first value and either adding or not adding the following values