PDA

View Full Version : سوال: تبدیل رشته به پارامتر



tooka123
شنبه 19 دی 1394, 12:38 عصر
سلام
من یک کلاس را فراخوانی می کنم و می خوام یک رشته را به صورت دو متغیر به اون ارسال کنم ولی رشته به صورت یک متغیر دریافت میشه ، چه طور اون رشته را به دو متغیر تبدیل کنم.
کد زیر را هم نوشتم ولی درست نشد.


class myClass(){

function myFunction($v1,$v2){

}

}

$val='0/9';
$ci = new myClass();
$ci->myFunction($val);

0xEHSAN
شنبه 19 دی 1394, 13:37 عصر
دوست عزیز اگه شکل صحیح کلاس پایینی باشه میتونید ازتابع explode استفاده کنید و گرنه باید دو پارامتر باید جدا ارسال بشه



$ci->myFunction($val,$val2);

tooka123
شنبه 19 دی 1394, 13:48 عصر
سلام
مقدار val به صورت داینامیک دریافت می شه و می خوام زمان دریافت شدن با توجه به علامت / به دو پارامتر تبدیل بشه و به تابع مورد نظر ارسال بشه ،(البته ممکنه مقدار val دارای دو / باشه و بخوام به سه متغیر تبدیل بشه )، حالا چه طور مقدار val رو به دو متغیر تبدیل کنم .

با کد زیر با explode مقدار رو به آرایه تبدیل کردم حالا چه طور مقدار رو به صورت جدا به تابع ارسال کنم

$part = explode('/', $val);

0xEHSAN
شنبه 19 دی 1394, 14:04 عصر
درود منظورتون اینه؟



$ci->myFunction($part[0],$part[1]);

tooka123
شنبه 19 دی 1394, 14:07 عصر
سلام بله ولی مشکل اینجاست که مقدار $val متغیر هست ممکنه به شکل زیر باشه
0/5/1/9
می خوام با توجه به مقدار $val اونو به چند متغیر تبدیل کنه و ارسال کنه ، اگر فقط دو مقدار داشت از $part[0],$part[1] استفاده می کردم

arash_fa
شنبه 19 دی 1394, 14:09 عصر
function show($val) {
$val=(array)$val;print_r($val);
return;}



$part = explode('/', $val);
$part = (array)$part;


show($part);



به صورت آرایه به تابع بفرستید و در تابع بررسی کنید

arash_fa
شنبه 19 دی 1394, 14:21 عصر
یا


<?function show() { print_r(func_get_args());}

$part = explode('/', $val);$part = (array)$part;call_user_func_array('show',$part);

?>