PDA

View Full Version : مبتدی: تغیر متغیر در فانکشن



majid4on
دوشنبه 21 دی 1388, 10:26 صبح
سلام دوستان
من یک متغیر مثل X رو تو صفحم مقدار می دم، بعد یک فانکشن رو صدا می کنم که طی یک شرط امکان داره مقدار اون متغیر تغیر کنه. مشکل من اینجاست، متغیرم تو فانکشن تغیر می کنه ولی تو صفحم تغیر نمی کنه... می دونم درست توضیح ندادم، بخاطر همین کدش رو می نوسیم.





<?php
$ok = 0;
echo "befor: $ok <br>";
function text_text($reg)
{
if (!eregi($regex_text,$reg))
{
$ok = 1;
}
echo "in function $ok <br>";
}
text_text($shabake);
echo "after: $ok";
die();
?>



حالا می شه بهم بگین که من اون متغیر $ok رو از چه نوعی تعریف کنم که کارم راه بیافته؟ ممنون

majid4on
دوشنبه 21 دی 1388, 11:12 صبح
خوب شاید آرگومانی ارسال نمیشه !؟

ارسال می شه، چون اون echo داخل فانکشن کار می کنه، در دو حالت تست شده، هم 0 چاپ می کنه هم 1، اما وقتی 1 چاپ می کنه اون echo بعد از فانکشن هنوز 0 چاپ می کنه

majid4on
دوشنبه 21 دی 1388, 13:18 عصر
<?php
$regex = "^[a-zA-Z0-9]+$";
$reg_ok = 0;
echo "befor: $reg_ok <br>";
function reg_text($reg)
{
if (!eregi($regex,$reg))
{
$reg_ok = 1;
}
echo "in function $reg_ok <br>";
}
$text = "majid4on";
reg_text($text);
echo "after function with 'text': $reg_ok <br>"; // khoroji bayad 0 bashad ke hast
$text1 = "!@#";
reg_text($text1);
echo "after function with 'text1': $reg_ok"; // khoroji bayad 1 bashad ke nist
?>

afshin9032
دوشنبه 21 دی 1388, 22:57 عصر
در شروع تابع خط زیر رو اضافه کن :


global $reg_ok;