View Full Version : سوال: تبدیل رشته به پارامتر
tooka123
شنبه 19 دی 1394, 13:38 عصر
سلام
من یک کلاس را فراخوانی می کنم و می خوام یک رشته را به صورت دو متغیر به اون ارسال کنم ولی رشته به صورت یک متغیر دریافت میشه ، چه طور اون رشته را به دو متغیر تبدیل کنم.
کد زیر را هم نوشتم ولی درست نشد.
class myClass(){
function myFunction($v1,$v2){
}
}
$val='0/9';
$ci = new myClass();
$ci->myFunction($val);
0xEHSAN
شنبه 19 دی 1394, 14:37 عصر
دوست عزیز اگه شکل صحیح کلاس پایینی باشه میتونید ازتابع explode استفاده کنید و گرنه باید دو پارامتر باید جدا ارسال بشه
$ci->myFunction($val,$val2);
tooka123
شنبه 19 دی 1394, 14:48 عصر
سلام
مقدار val به صورت داینامیک دریافت می شه و می خوام زمان دریافت شدن با توجه به علامت / به دو پارامتر تبدیل بشه و به تابع مورد نظر ارسال بشه ،(البته ممکنه مقدار val دارای دو / باشه و بخوام به سه متغیر تبدیل بشه )، حالا چه طور مقدار val رو به دو متغیر تبدیل کنم .
با کد زیر با explode مقدار رو به آرایه تبدیل کردم حالا چه طور مقدار رو به صورت جدا به تابع ارسال کنم
$part = explode('/', $val);
0xEHSAN
شنبه 19 دی 1394, 15:04 عصر
درود منظورتون اینه؟
$ci->myFunction($part[0],$part[1]);
tooka123
شنبه 19 دی 1394, 15:07 عصر
سلام بله ولی مشکل اینجاست که مقدار $val متغیر هست ممکنه به شکل زیر باشه
0/5/1/9
می خوام با توجه به مقدار $val اونو به چند متغیر تبدیل کنه و ارسال کنه ، اگر فقط دو مقدار داشت از $part[0],$part[1] استفاده می کردم
arash_fa
شنبه 19 دی 1394, 15:09 عصر
function show($val) {
$val=(array)$val;print_r($val);
return;}
$part = explode('/', $val);
$part = (array)$part;
show($part);
به صورت آرایه به تابع بفرستید و در تابع بررسی کنید
arash_fa
شنبه 19 دی 1394, 15:21 عصر
یا
<?function show() { print_r(func_get_args());}
$part = explode('/', $val);$part = (array)$part;call_user_func_array('show',$part);
?>
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.