آموزش ColdFusion - آشنایی با انواع آرایه ها
آرايه ها نيز مانند ليست ها، براي ذخيره سازي مقادير متعدد، تحت يک نام مي باشند. اما، برخلاف ليست ها، اين ذخيره سازي در قسمت ها جدا از هم انجام مي گيرد و مانند ليست ها تمام مقادير در يک رشته اي از مقادير جدا شده به وسيله ي حرف جدا کننده ذخيره نمي گردند. ليست ها داده هاي ساده مي باشند، چون فقط يک رشته مي باشند، در حالي که آرايه ها داده هاي پيچيده مي باشند، چون متشکل از چندين قسمت قابل آدرس دهي مي باشند و داراي چنيدن مقدار مختلف مي باشند. ايجاد يک آرايه تکه کد بالا، يک آرايه ي يک بعدي ايجاد مي کند و آن را به ArrayNew تخصيص مي دهد. يک آرايه مي تواند تا 3 بعد داشته باشد. ارجاع به عضوي از يک آرايه <cfoutput>#MyArray[2]#</cfoutput> مثال بالا مقدار عنصر دوم آرايه را چاپ مي کند. بر خلاف اکثر زبان هاي برنامه نويسي، انديس آرايه در کلدفيوژن از يک شروع مي شود. افزودن عنصري به آرايه <cfset myArray = ArrayNew(1)> به تفاوت ArrayAppend و ListAppend توجه کنيد : <cfset myList = ListAppend(myList, “apple”)> ListAppend مقدار ليست اصلي را تغيير نمي دهد، بلکه يک ليست جديد با يک مقدار جديد افزوده شده به انتهاي آن ايجاد مي کند. اما ArrayAppend تغييرات را روي آرايه ي اصلي اعمال مي کند، و مقدار بازگشتي آن در صورت موفقيت تابع true مي باشد و در غير اين صورت false مي باشد. بنابراين شما حتي نياز نداريد که مقدار بازگشتي را ذخيره کنيد. همچنين براي افزودن عنصري به ابتداي يک آرايه از تابع ArrayPrepend مانند مثال زير استفاده مي کنيم : <cfset ArrayPrepend(myArray,”lemon”)> شما همچنين مي توانيد عنصري را ميان عناصر موجود اضافه کنيد . مثلا فرض کنيد آرايه ي ما داراي عناصر زير باشد : 1 : peach شما مي توانيد عنصري را ميان عناصر اول و دوم اضافه کنيد . بدين منظور از تابع ArrayInsertAt به صورت زير استفاده مي کنيم : <cfset ArrayInsertAt(myArray,2,”lemon”)> پس از اجراي کد بالا آرايه ي ما داراي عناصر زير خواهد بود : 1 : peach شما همچنين مي توانيد يک عنصر براي آرايه بوسيله عمل تخصيص ايجاد کنيد. مثلا، براي آرايه ي بالا، کد زير را اجرا مي کنيم : <cfset myArray[4]=”blueberry”> حال، آرايه ي ما داراي چهار عنصر زير مي باشد : 1 : peach شما همچنين مي توانيد از مقدار دهي به برخي از عناصر صرف نظر کنيد : <cfset myArray[6]=”pomegranate”> پس از اجراي کد بالا آرايه ما به صورت زير مي باشد : 1 : peach به آرايه ي بالا توجه کنيد، هيچ عنصري با انديس 5 وجود ندارد و اين به اين معني نيست که آرايه ي پنجم داراي مقدار خالي مي باشد، فقط، هيچ عنصري با انديس 5 وجود ندارد. حذف عنصري از يک آرايه <cfset ArrayDeleteAt(myArray,2)> تابع بالا عنصر دوم از آرايه را حذف مي کند. براي پاک کردن کل آرايه ، يعني حذف تمام عناصر از تابع ArrayClear مانند زير استفاده مي کنيم : <cfset ArrayClear(myArray)>
بدست آوردن اطلاعاتي در رابطه با آرايه : <cfif ArrayIsEmpty(myArray)> براي بدست آوردن تعداد عناصر يک آرايه از تابع ArrayLen بصورت زير استفاده مي کنيم : <cfset numElements = ArrayLen(myArray) > ArrayLen عناصر تعريف نشده را نيز حساب مي کند.
پيدا کردن عنصري در آرايه : <cfloop from=”1” to=”#ArrayLen(myArray)#” index=”I”> پس از اجراي کد بالا، I داراي انديس عنصر داراي مقدار apple مي باشد. برخي توابع رياضي براي آرايه ها : به عنوان مثال، به تکه کد زير توجه کنيد : <cfset NumericArray=ArrayNew(1)> <cfset Minimum=ArrayMin(NumericArray)>
تعويض جاي عناصر يک آرايه : 1 : peach براي تعويض جاي عنصر اول و عنصر سوم ، از تابع ArraySwap به صورت زير استفاده مي کنيم : <cfset ArraySwap(myArray,1,3)> حال عناصر آرايه ي ما به صورت زير مي باشند : 1 : apple
مرتب سازي عناصر يک آرايه : <cfset ArraySort(myArray,”text”,”asc”> پس از اينکه کد بالا اجرا شد، آرايه داراي عناصر به ترتيب زير مي باشد : 1 : apple اگر عنصر تعريف نشده اي در آرايه موجود باشد، و شما بخواهيد آرايه را مرتب کنيد، کلدفيوژن يک خطا ايجاد مي کند. همانند براي ListSort() ، دومين پارامتر تابع ArraySort ، نوع مرتب سازي که مي خواهيد انجام دهيد را مشخص مي کند : Numeric : آرايه را به صورت عددي مرتب سازي مي کند. اگر عنصري از آرايه نتواند به يک عدد تبديل شود، يک خطا رخ مي دهد. سومين پارامتر تابع ArraySort() مي تواند “asc ” و يا “desc " باشد. بستگي دارد به اينکه شما مي خواهيد آرايه را به صورت از کوچک به بزرگ مرتب کنيد و يا از بزرگ به کوچک مرتب کنيد.
تغيير اندازه ي يک آرايه : به خاطر بهنيه سازي، اگر تعداد عناصر يک آرايه را از اول مي دانيد، مي توانيد قبل از شروع به افزودن عناصر به آرايه بوسيله ي تابع ArrayResize حافظه مورد نياز را از قبل اختصاص دهيد. مانند مثال زير : <cfset ArrayResize(myArray, 500)> براي بدست آوردن حداکثر بهينه سازي، از تابع ArrayResize بلافاصله بعد از استفاده از ArrayNew استفاده کنيد.
تبديل بين آرايه ها و ليست ها <cfset NewList = ArrayToList(myArray)> براي تبديل يک ليست موجود به يک آرايه ي جديد، از تابع ListToArray به صورت زير استفاده مي کنيم : <cfset NewArray = ListToArray(myList)> ![]() مرتبط با موضوع : سرویس های وب فعال کننده برنامه Cold Fusion [سه شنبه، 14 ارديبهشت ماه ، 1389] آموزش مقدماتی ColdFusion [شنبه، 16 آبان ماه ، 1388] آموزش کلد فیوژن - آشنایی با انواع ليست ها [شنبه، 16 آبان ماه ، 1388] آموزش ColdFusion ، ساختار Switch/Case [شنبه، 16 آبان ماه ، 1388] دستورهای شرطی در ColdFusion [شنبه، 16 آبان ماه ، 1388] آموزش کلد فیوژن : متغیر های Client و Session [شنبه، 16 آبان ماه ، 1388] کار با پایگاه داده ها در کلدفیوژن [شنبه، 16 آبان ماه ، 1388] مقایسه ColdFusion و ASP [جمعه، 15 آبان ماه ، 1388] بررسی امکانات کلد فیوژن 8 [جمعه، 15 آبان ماه ، 1388] |
آخرین مقالات
پربیننده ترین مقالات
مقالات تصادفی
امتیاز دهی به مطلب
تعداد آراء: 1 ![]() انتخاب ها
|
