PDA

View Full Version : الویت بندی متغییر ها



extern
دوشنبه 19 اسفند 1392, 12:07 عصر
سلام.
دوستان من می خوام الویت بندی کنم اجرای متغییر هارو
مثلا: 3تا متغییر x ,y,z داریم حالا اینها هر کدوم یک مقداری را دارند
حال یک شرط بزاریم چک کنه هر سه وجود داشتند بین اونها اونها که وجود دارند مثلا اونی که مقدار کمتری داره را اجرا کنه .
یا مثلا 2 تا از متغییر ها مقدار داشنتد یکی نداشت اونی که باز کمترین مقدار را داره اجرا کنه

2undercover
دوشنبه 19 اسفند 1392, 14:03 عصر
$varsName = array('x', 'y', 'z');
$vars = array();
foreach($varsName as $varName) {
if(isset($$varName)) {
$vars[] = $$varName;
}
}
$min = count($vars) > 0 ? call_user_func_array('min', $vars) : null;

extern
دوشنبه 19 اسفند 1392, 21:37 عصر
ممنون.
فقط یک سئوال دیگه اگر مثلا 2 تا متغییر ها یا هر 3 وجود داشنتد متغییر اول اجرا بشه و بقیه اجرا نشوند
یا یک جور دیگه بگم
از 3 تا متغییر اگر اولی وجود داشت اجرا بشه دستور و بقیه اجرا نشوند اگر نداشت دومی و...
(با در نظر گیری اینکه شاید خود متغییر ها هم آرایه بودند)

2undercover
سه شنبه 20 اسفند 1392, 15:52 عصر
ممنون.
فقط یک سئوال دیگه اگر مثلا 2 تا متغییر ها یا هر 3 وجود داشنتد متغییر اول اجرا بشه و بقیه اجرا نشوند
یا یک جور دیگه بگم
از 3 تا متغییر اگر اولی وجود داشت اجرا بشه دستور و بقیه اجرا نشوند اگر نداشت دومی و...
(با در نظر گیری اینکه شاید خود متغییر ها هم آرایه بودند)


$varsName = array('x', 'y', 'z');foreach($varsName as $varName) { if(isset($$varName)) { $var = $$varName; }}
// Use $varecho $var;

extern
سه شنبه 20 اسفند 1392, 21:43 عصر
خیلی ممنون.
یک چیز دیگه :
مثلا ما یک آرایه به این شکل داریم :


Array([test] => Array([0] => value) [test2] => Array([0] => value [1]=> value ) );

این جور آرایه ای را میشه واکشی کرد ؟ مثلا دسترسی داشت به داده های test و test 2 در همین آرایه ؟(نحوه دسترسی چطوری میشه ؟)

SadeghPro19
سه شنبه 20 اسفند 1392, 22:39 عصر
خب شما با یک Foreach میتونید بهش دسترسی داشته باشین.

foreach($array as $key=>$value){
echo $key['test'];
}
البته میتونید بصورت حلقه تو در تو هم استفاده بشه که دوتا حلقه foreach میشه.

foreach($array as $key=>$value){
foreach($key as $data){
echo $data;
}
}

extern
سه شنبه 20 اسفند 1392, 23:07 عصر
جواب نمیده این روش .
در اصل کاری که من می خوام انجام بدم اینه که ما 3 تا آرایه داریم x,y,z هر کدوم آرایه های جدا (مولتی هم نیستند)
حالا این 3 آرایه ممکنه مقدار داشته باشند ممکنه هم نداشته باشند حالا من می خوام اینارو پیشمایش کنم به این صورت که اگر هر 3 وجود داشنتد فقط آرایه x را در الویت بیاد و فقط اجرا بشه اگر x وجود نداشت این دفعه آرایه y