Saludos a todos, no hallo la manera de extraer algunos valores de un array y almacenarlos en otro array separado por comas, si, en esto creo que puedo usar implode() o explode(). El script vendria siendo algo asi:
Funcion que Parsea el string dado por HTTP_ACCEPT_LANGUAGE:
$accepted = SLanguage::parseLanguageList($_SERVER['HTTP_ACCEPT_LANGUAGE']);
Retorna array con indice de calidad del idioma que usa el navegador por orden de calidad:
array(5) { ["1.0"]=> array(1) { [0]=> string(5) "en-us" } ["0.8"]=> array(1) { [0]=> string(2) "en" } ["0.6"]=> array(1) { [0]=> string(2) "es" } ["0.4"]=> array(1) { [0]=> string(5) "zh-cn" } ["0.2"]=> array(1) { [0]=> string(2) "zh" } }
Recojer los lenguajes disponibles de la BD.
$available = $db->queryAllRows('SELECT language FROM ' . $settings->dbprefix . 'contents');
Retorna:
array(3) { [0]=> array(1) { ["language"]=> string(5) "en-US" } [1]=> array(1) { ["language"]=> string(5) "es-ES" } [2]=> array(1) { ["language"]=> string(5) "zh-CN" } }
Ahora en $available debo extraer los idiomas solamente, almacenarlos en array separados por coma ej. array(en, es, zh); y asi pasarlos por otra funcion a la que le entrego $accepted y $available (separado ya por comas) y la funcion busca y entrega la mejor conincidencia. He probado serialize() mezclandolo con preg_match() y etc... no hayo la forma de realizar esto. Muchas gracias por todo.