PDA

View Full Version : سوال: اضافه کردن کلید های دلخواه و به صورت داینامیک به مقادیر موجود در آرایه



mostafa_shoakry
سه شنبه 17 دی 1392, 13:03 عصر
سوالمو واضح تر می گم:
من می خوام یه تابع بنویسم که کار این تابع join چندین جدول هست که تعداد جدولایی که باید join بشن متغیر هست. حالا من می خوام یک تابع بنویسم که فقط نام جداول رو از طریق آرایه به این تابع ارسال کنه مثل این:


myfunction(array('code','news','links'))

حالا تعداد این مقادیر آرایه ممکن کم یا زیاد باشه. حالا من می خوام در داخل تابع که می نویسم به ازای هر مقدار یه کلید اضافه کنه که بسته به تعداد مقادیر موجود در آرایه از b شروع بشه تا انتها. مثلا در درون تابع من به شکل زیر تغییر پیدا کنه:


array(
'a' => 'code',
'b' => 'news',
'c' => 'links'
)

چجوری اینکارو انجام بدم

Mr.Moghadam
سه شنبه 17 دی 1392, 13:53 عصر
از تابع array_combine استفاده کنید :

این تابع دو آرایه رو به یک آرایه تبدیل مبکنه.به این صورت که آرایه ای که در پارامتر اول بهش میدیم به عنوان کلید و آرایه پارامتر دوم به عنوان مقادیر آرایه جدید در نظر گرفته میشن.

$a = array('green', 'red', 'yellow'); $b = array('avocado', 'apple', 'banana'); $c = array_combine($a, $b);
آرایه ها در PHP (http://phpro.ir/%D9%85%D8%B1%D8%AC%D8%B9-%D8%AA%D9%88%D8%A7%D8%A8%D8%B9-php-2/%D8%A2%D8%B1%D8%A7%DB%8C%D9%87-%D9%87%D8%A7-%D8%AF%D8%B1-php/)

mostafa_shoakry
سه شنبه 17 دی 1392, 14:08 عصر
آقا پیداش کردم :لبخند:
این تابع من



public function mul_join($tables){
is_array($tables) || $tables = array($tables);
$keys = range('a','z');
$keys = array_slice($keys,-count($keys),count($tables));
$tables = array_combine($keys, array_values($tables));
return $tables;
}


اینم نحوه ی صدا زدن تابع:



var_dump(mul_join(array('code','members_login','ne ws','link','members')));


تا 26 تا رو می تونه تغییر بده به صورت داینامیک :لبخند: