Loading...

BTC Address to donate : [[address]]

Donation of [[value]] BTC Received. Thank You.
[[error]]

Expl0it-c0d3 :: Sec4eVer TeAm ::
  • شكراً: 23
  • تم شكره 103 مرة في 10 مشاركة

بسم الله الرحمن الرحيم
كما وعدتكم من قبل بوضع دروس توضيحية للمصفوفان ها نحن هنا بصدد أخذ فكرة أكثر عنها
المصفوفات array :
المصفوفات هي نوع خاص من المتغيرات التي تقوم بتخزين نمط قائمة أنواع البيانات. كل كائن من قائمة يسمى عنصرا والعناصر يمكن أن تكون إما حروف ، أعدد ، أو أي نوع من البيانات العددية بها متغير آخر.

كما تعرفنا في الدروس السابقة أنا المصفوفات يتم تعيينها بوضع رمز @ قبلها
مثال:

كود PHP:
#!C:/xampp/perl/bin
print "content-type: text/html \n\n";    #HTTP HEADER

# DEFINE AN ARRAY
@coins = ("sec","4","ever");

# PRINT THE ARRAY
print "@coins";
print 
"<br />";
print @
coins

والناتج سيكون كالتالي:
كود بلغة HTML:
sec 4 ever
sec4ever
لاحظ في المثال التالي قمنا بطبع المتغير مرتين، مرة داخل علمتي التنصيص (") والمرة الثانية بدون علامات التنصيص والناتج كان مختلفا ، ففي الناتج الأول قام البيرل بتنسق الكلمات ووضع الفراغ بين كل عنصر وعنصر،أما في الناتج الثاني لم يقم بتنسيقها من هنا نستخلص كيفية تنسيق الجمل في البيرل.

*- فهرسة المصفوفات:
كل عنصر من عناصر المصفوفا لديه رقم ويتم فهرسة كل عنصر ب متغير من نوع scalar.
عندما تعيين قيمة المصفوفات يقوم البيرل بفهرسة كل عناصر المصفوفة بدا بالرقم 0، تسمى هذه الظاهرة تسمى بفهرسة المصفوفات.
مثال:

كود PHP:
#!C:/xampp/perl/bin
print "content-type: text/html \n\n";    #HTTP HEADER

# DEFINE AN ARRAY
@coins = ("sec","4","ever");

# PRINT THE WHOLE ARRAY
print "@coins";

# PRINT EACH SCALAR ELEMENT
print "<br />";
print 
$coins[0]; #Prints the first element
print "<br />";
print 
$coins[1]; #Prints the 2nd element
print "<br />";
print 
$coins[2]; #Prints the 3rd element 

والنتيجة ستكون كالتالي:

كود بلغة HTML:
sec 4 ever
sec
4
ever

*- في البيرل نستطيع أيضا طباعة عناصر المصفوفة بطريقة عكسية يعنى من الرقم الأخير باستعمال الأعداد السالبة مثال:

كود PHP:
#!C:/xampp/perl/bin
print "content-type: text/html \n\n";    #HTTP HEADER

# DEFINE AN ARRAY
@coins = ("sec","4","ever");

# PRINT THE WHOLE ARRAY
print "@coins";

# PRINT EACH SCALAR ELEMENT
print "<br />";
print 
$coins[0]; #Prints the first element
print "<br />";
print 
$coins[-2]; #Prints the 2nd element
print "<br />";
print 
$coins[-1]; #Prints the 3rd element 

والنتيجة تكون:
كود بلغة HTML:
sec 4 ever
sec
4
ever

هناك طريقة أخرى في البيرل وهي الطباعة بالمقلوب والمقصود بها انه أذا لدينا مصفوفة ونريد طباعتها بالمقلوب لا نحتاج أن نقوم بطبعها بالأرقام السالبة وتفصيلها إلى scalar حتى نكمل جميع عناصر المصفوفة
نأخذ مثال لكي نفهم اكثر:
لدينا مصفوفة فيها من الرقم 0 إلى الرقم عشرة نريد طبعها كما هي ثم طبعها من 10 إلى 0 إذا قمنا بطبعها بالطريقة التالية:

كود PHP:
#!C:/xampp/perl/bin
print "content-type: text/html \n\n";    #HTTP HEADER

# DEFINE AN ARRAY
@number = (0,1,2,3,4,5,6,7,8,9,10);
#print Array
print "@number";
# PRINT EACH SCALAR ELEMENT
print "<br />";
print 
"$number[-1]$number[-2]$number[-3]$number[-4]$number[-5]$number[-6]$number[-7]$number[-8]$number[-9]$number[-10]$number[-0]"

والنتيجة هي:
كود بلغة HTML:
0 1 2 3 4 5 6 7 8 9 10
109876543210

كما تلاحظ انه ناتج عادي مع انه سكريبت اخذ وقت طويل وجهد أطول هنا تأتي فائدة أن المبرمج يجب ان يكون كسول لكي يختصر السكريبت بأي طريقة لا حظ في المثال التالي مدى صغر السكريبت مقارنة بالذي قبله والنتيجة تكون متطابقة:

كود PHP:
#!C:/xampp/perl/bin
print "content-type: text/html \n\n";    #HTTP HEADER

# DEFINE AN ARRAY
@number = (0,1,2,3,4,5,6,7,8,9,10);
#print Array
Print "@number";
#Reversing Array
print "<br />";
print 
reverse @number

لاحظ النتيجة هي نفسها لم يتغير شيء ولكننا ربحنا الوقت ومساحة الذاكرة وحجم السكريبت أيضا لكننا استعلمنا الأمر print reverse
كود بلغة HTML:
0 1 2 3 4 5 6 7 8 9 10
109876543210

هذا الجزء الأول من درس المصفوفات
يتبع... إن شاء الله

7 أعضاء قالوا شكراً لـ Expl0it-c0d3 على المشاركة المفيدة:
23-02-2010, 09:42 PM
Sec4ever الحماية للأبد
  • شكراً: 3488
  • تم شكره 5365 مرة في 949 مشاركة

السلام عليكم

اخى اكسبلوات من مدة على دروسك :D

المهم الى اقولو لك الله ايعينك مع الجداول و الله شيبونى في ال php

و لكنهم متغيرات يستحيل الأستغناء عنهم و اى واحد يتقنهم تنحل امامو اغلب المشاكل

و بالتوفيق للجميع.

توقيع
24-02-2010, 10:30 AM
Rafikovicho عضو نشيط
  • شكراً: 398
  • تم شكره 9 مرة في 7 مشاركة

الضوء ماشفتوش وقيل ما نيش شارب قهوتي

توقيع

24-02-2010, 02:37 PM
Expl0it-c0d3 :: Sec4eVer TeAm ::
  • شكراً: 23
  • تم شكره 103 مرة في 10 مشاركة

ههههه وقيل القهوة وماتكفيش

26-02-2010, 11:47 AM
VoLc4n0 عضو مميز
  • شكراً: 74
  • تم شكره 29 مرة في 9 مشاركة

مبدع ما شاء الله عليك


بانتظار المزيد من ابداعاتك

توقيع
كود PHP:
#!user/bin/perl
$kala "KaLashnikoV was her ";
$echo "we love sec4ever ";
$hack "VoLc4n0 -=- flash -=- stone love";
print 
"$Kala\n";
print 
"$echo\n";
print 
"$hack\n"

كود PHP:
my mail fnj@hotmail.com
my mail volc4n0
@hotmail.com 
08-05-2010, 11:29 AM
V!ru$_T4ckJ3n Linux Coder
  • شكراً: 306
  • تم شكره 348 مرة في 106 مشاركة

بارك الله فيك يا غالي
و كان الدرس مفهوم و سهل و بسيط

06-06-2010, 11:12 PM
DZ-CRYPT عضو مميز
  • شكراً: 81
  • تم شكره 18 مرة في 6 مشاركة

بارك لله فيك

توقيع
[SIGPIC][/SIGPIC]
07-08-2010, 12:31 PM
w3v1 عضو جديد
  • شكراً: 0
  • تم شكره مرة واحدة في مشاركة واحدة

ملاحضه بسيطه : في هذا /:

#!C:/xampp/perl/bin
print "content-type: text/html \n\n";
#HTTP HEADER

# DEFINE AN ARRAY
@number = (0,1,2,3,4,5,6,7,8,9,10
);
#print Array
Print "@number"
;
#Reversing Array
print "<br />"
;
print
reverse @number
;
@number = (0,1,2,3,4,5,6,7,8,9,10);
======

بدل ان نكتب ,, من 0 الى 10 نختصرها ..
for # تكراريه..
$val # متغير
فتكون
for $val (0 .. 10)
{
print $val;
}
=====
هذي وجه نضر ..يعني نختصر الارقام ..احسن من الترقيم ..احترامي..

Expl0it-c0d3 :: Sec4eVer TeAm ::
  • شكراً: 23
  • تم شكره 103 مرة في 10 مشاركة

التعلم يأتي بالتدريج اخي لا يمكننا الذهاب الى آخر درج لان الاعضاء لم يصلوا بعد الى for