Ничего не понимаю: глюк с исполнением функции

Holo

Новичок
Ничего не понимаю: глюк с исполнением функции

дна и та же конструкция вне функции и в функции ведет себя совершенно по-разному

_____________________________________

$categ[][] - многомерный массив
_____________________________________

PHP:
function cat_show($a)  {  
$cat_comb = $a;  
$cat_sep = explode (",", $cat_comb);  
$cat_num = count($cat_sep);   
for($i=0; $i<$cat_num ; $i++){  
$id = $cat_sep[$i];  
$result = $result.$categ[$id][$lang].", ";  }   
return $result;  }   

echo cat_show(1,2,3,4);
возвращает " , , , , "

а та же конструкция но без функции

PHP:
  $cat_comb = "1,2,3,4";  
$cat_sep = explode (",", $cat_comb);  
$cat_num = count($cat_sep);   
for($i=0; $i<$cat_num ; $i++){  
$id = $cat_sep[$i];  
$result1 = $result1.$categ[$id][$lang].", ";  }  
echo $result1;
возвращает "a,b,c,d," - то есть то, чего и добивался

Как сказал классик: "Э.... НИЧЕ НЕ ПОНИМАЮ"
 

sakon

П..и.н..ок
Holo
Непонимаешь? Ну и не надо.
С какого бодуна у тебя вдруг в фунцию будет передана строка 1,2,3,4 ?
 

Romashov

экспериментатор
PHP:
echo cat_show(1,2,3,4);
PHP:
echo cat_show("1,2,3,4");
Прочувствуй смак.
 

_RVK_

Новичок
>cat_show(1,2,3,4);

Ты передаешь функции 4 параметра.

>$cat_comb = "1,2,3,4";

А это строка.

Дальше сам?
 

_RVK_

Новичок
Holo

А код ты специально так отформатировал, что бы нам его читать было сложнее?
 

Holo

Новичок
Пардон,
естественно не

echo_cat_show(1,2,3,4);

а

echo_cat_show("1,2,3,4");

значение берется из базы и является строкой

-~{}~ 11.12.05 01:20:

Автор оригинала: _RVK_
Holo

А код ты специально так отформатировал, что бы нам его читать было сложнее?
а чем не нравится форматирование?
 

itprog

Cruftsman
А где у тебя $categ и $lang в функции определяется?
PHP:
function cat_show($a)  {  
global $categ, $lang;
$cat_comb = $a;  
$cat_sep = explode (",", $cat_comb);  
$cat_num = count($cat_sep);   
for($i=0; $i<$cat_num ; $i++){  
$id = $cat_sep[$i];  
$result = $result.$categ[$id][$lang].", ";  }   
return $result;  }
или передавай параметром:
PHP:
function cat_show($a, $categ, $lang)  {  
$cat_comb = $a;  
$cat_sep = explode (",", $cat_comb);  
$cat_num = count($cat_sep);   
for($i=0; $i<$cat_num ; $i++){  
$id = $cat_sep[$i];  
$result = $result.$categ[$id][$lang].", ";  }   
return $result;  }
 

Romashov

экспериментатор
припиши в самом начале тела функции
PHP:
global $categ, $lang;
 

Holo

Новичок
$categ[$id][$lang] - массив, он определен ранее и работает 100%

-~{}~ 11.12.05 01:26:

Ща попробую
 
Сверху