функции

mute

Registered
Реших да се науча да пиша собствени функции горе долу се справям но ето един върос
следната функция

function chek($arg){
$old=array("<",">","'","%");
$new=array("<",">","&#39","&#37");
$arg=str_replace($old, $new , $arg);
}

ако примерно напиша защо неми изписва нищо ? и къде греша

$ha=chek('< >');
echo $ha;
 

Admin

Registered
mute каза:
Реших да се науча да пиша собствени функции горе долу се справям но ето един върос
следната функция

function chek($arg){
$old=array("<",">","'","%");
$new=array("<",">","&#39","&#37");
$arg=str_replace($old, $new , $arg);
}

ако примерно напиша защо неми изписва нищо ? и къде греша

$ha=chek('< >');
echo $ha;

Функцията "не вижда" променливите от външния код нито външен
код има достъп до променливите във функцията.
Това се нарича "област на видимост".
За да може да получиш достъп до променлива от функцията трябва предварително да укажеш кои променливи ще се виждат извън нея.
Тези променливи се наричат глобални .
Използва се ключовата дума global .


function chek($arg)
{
global $test;
$old=array("<",">","'","%");
$new=array("<",">","&#39","&#37");
$test=str_replace($old, $new , $arg);
}


chek('< >');
echo $test;

останалите променливи(масиви) $new,$old не са видими извън функцията.

Може и така:

function chek($arg)
{

$old=array("<",">","'","%");
$new=array("<",">","&#39","&#37");
$test=str_replace($old, $new , $arg);
return $test;
}


echo chek('< >');


Най просто в този случай е :

function chek($arg)
{

$old=array("<",">","'","%");
$new=array("<",">","&#39","&#37");
$test=str_replace($old, $new , $arg);
echo $test;
}


chek('< >');
 

mute

Registered
е аз пробвах със return обаче написах така return ( $arg ) и там ми е била грешката , мерси бафи
 

Горе