switch в цикле

Name

Новичок
switch в цикле

Хотел сделать следующее
что то не пашет, хотя что подобное делал работало.
Правда там сам switch то же был в цикле.

PHP:
$lang = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
	
printf('switch($lang)'."{\n");
	foreach($lang_array as $v){
		printf("case \"".$v['lang']."\":\n");
		делаем что то;
		printf('break;'."\n");
		}
	printf('default:'."\n");
        	делаем что то;
	printf('}');
Просто хотел не явно указывать case такой то тогда делаем то.
Унивесальности хотел, чтобы в заполняешь $lang_array
любым колвом элементов и не думаем что там в switch .

Если кто что понял.
Может есть какие еще решения.
 

RomikChef

Guest
Не понял - ты код печатаешь?
А зачем так сложно? в РНР есть функции higihlight_string, view_source - используй их.
 

Name

Новичок
не то написал вместо printf надо sprintf.
Нет я не код печатаю, а типа печатаю конструкцию switch
как будто я ее руками написал, с нужным количеством case.
 

RomikChef

Guest
во-первых, sprintf всего лишь присваивает значение переменной, а не "как будто ты руками писал"

во-вторыз, при использовании массива switch совершенно не нужен.
все делается функциями работы с массивами.
 

Name

Новичок
Да что то я не туды,
всего навсего
$lang = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
if(@is_array($lang_array[$lang]))
{.....
 
Сверху