PHP & MYSQL

المصفوفات PHP: ترابطية ، متعددة الأبعاد

ما هي PHP Array؟

مصفوفة PHP هي متغير يخزن أكثر من جزء من البيانات ذات الصلة في متغير واحد.
فكر في المصفوفة كعلبة شوكولاتة بداخلها فتحات.
يمثل الصندوق المصفوفة نفسها بينما تمثل المسافات التي تحتوي على الشوكولاتة القيم المخزنة في المصفوفات.

يوضح الرسم البياني أدناه بناء الجملة أعلاه.

المصفوفات الرقمية

تستخدم المصفوفات الرقمية الرقم كمفاتيح وصول.
مفتاح الوصول هو إشارة إلى فتحة ذاكرة في متغير مصفوفة.
يتم استخدام مفتاح الوصول عندما نريد قراءة أو تعيين قيمة جديدة لعنصر مصفوفة.
يوجد أدناه بناء الجملة الخاص بإنشاء مصفوفة رقمية في php. مثال مصفوفة

<?php
$variable_name[n] = value;
?>

أو

<?php
$variable_name = array(n => value, …);
?>

هنا:

  • “اسم المتغير $ …” هو اسم المتغير
  • “[n]” هو رقم فهرس الوصول للعنصر
  • “القيمة” هي القيمة المخصصة لعنصر المصفوفة.

دعنا الآن نلقي نظرة على مثال لمصفوفة رقمية.
افترض أن لدينا 5 أفلام نريد تخزينها في متغيرات مصفوفة.
يمكننا استخدام المثال الموضح أدناه للقيام بذلك.

<?php

$movie[0] = 'Shaolin Monk';
$movie[1] = 'Drunken Master';
$movie[2] = 'American Ninja';
$movie[3] = 'Once upon a time in China';
$movie[4] = 'Replacement Killers';

?>

يُعطى كل فيلم رقم فهرس يُستخدم لاسترداد قيمته أو تعديلها. لاحظ الكود التالي:

<?php
$movie[0]="Shaolin Monk";
$movie[1]="Drunken Master";
$movie[2]="American Ninja";
$movie[3]="Once upon a time in China";
$movie[4]="Replacement Killers";
echo $movie[3];
$movie[3] = " Eastern Condors";
echo $movie[3];
?>

النتيجة

Once upon a time in China Eastern Condors

كما ترى من الأمثلة السابقة ، فإن العمل مع المصفوفات في PHP عند التعامل مع قيم متعددة من نفس الطبيعة أمر سهل ومرن للغاية.

بدلاً من ذلك ، يمكن أيضًا إنشاء متغيرات الصفيف أعلاه باستخدام الكود التالي.

<?php
$movie = array(0 => "Shaolin Monk",
               1 => "Drunken Master",
               2 => "American Ninja",
               3 => "Once upon a time in China",
               4 =>"Replacement Killers" );
echo $movie[4];
?>

النتيجة :

Replacement Killers

PHP Associative Array

تختلف المصفوفة الترابطية عن المصفوفة الرقمية بمعنى أن المصفوفات الترابطية تستخدم أسماء وصفية لمفاتيح المعرف. يوجد أدناه بناء الجملة الخاص بإنشاء مصفوفة ترابطية في php.

<?php
$variable_name['key_name'] = value;

$variable_name = array('keyname' => value);
?>

هنا:

  • “اسم المتغير $ …” هو اسم المتغير
  • “[‘key_name’]” هو رقم فهرس الوصول للعنصر
  • “القيمة” هي القيمة المخصصة لعنصر المصفوفة.

لنفترض أن لدينا مجموعة من الأشخاص ، ونريد تحديد جنس كل شخص مقابل أسمائهم.

يمكننا استخدام مصفوفة ترابطية للقيام بذلك ، ويساعدنا الكود أدناه على القيام بذلك.

<?php
$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");
print_r($persons); 
echo ""; 
echo "Mary is a " . $persons["Mary"];
?>

النتيجة :

Array ( [Mary] => Female [John] => Male [Mirriam] => Female ) Mary is a Female

المصفوفة الترابطية مفيدة جدًا أيضًا عند استرداد البيانات من قاعدة البيانات.

يتم استخدام أسماء الحقول كمفاتيح معرف.

مصفوفات PHP متعددة الأبعاد

هذه هي المصفوفات التي تحتوي على مصفوفات متداخلة أخرى.
ميزة المصفوفات متعددة الأبعاد هي أنها تسمح لنا بتجميع البيانات ذات الصلة معًا.

دعنا الآن نلقي نظرة على مثال عملي يقوم بتنفيذ مصفوفة متعددة الأبعاد php.

يعرض الجدول أدناه قائمة الأفلام حسب الفئة.

Movie titleCategory
Pink PantherComedy
John EnglishComedy
Die HardAction
ExpendablesAction
The Lord of the ringsEpic
Romeo and JulietRomance
See no evil hear no evilComedy

يمكن تمثيل المعلومات الواردة أعلاه كمصفوفة متعددة الأبعاد. يوضح الكود أدناه التنفيذ.

<?php
$movies =array(
"comedy" => array("Pink Panther", "John English", "See no evil hear no evil"),
"action" => array("Die Hard", "Expendables"),
"epic" => array("The Lord of the rings"),
"Romance" => array("Romeo and Juliet")
);
print_r($movies);
?>

النتيجة

Array ( [comedy] => Array ( [0] => Pink Panther [1] => John English [2] => See no evil hear no evil ) [action] => Array ( [0] => Die Hard [1] => Expendables ) [epic] => Array ( [0] => The Lord of the rings ) [Romance] => Array ( [0] => Romeo and Juliet ) )

طريقة أخرى لتعريف نفس المصفوفة هي كما يلي

<?php
$film=array(

                "comedy" => array(

                                0 => "Pink Panther",

                                1 => "john English",

                                2 => "See no evil hear no evil"

                                ),

                "action" => array (

                                0 => "Die Hard",

                                1 => "Expendables"

                                ),

                "epic" => array (

                                0 => "The Lord of the rings"

                                ),

                "Romance" => array

                                (

                                0 => "Romeo and Juliet"

                                )

);
echo $film["comedy"][0];
?>

النتيجة

Pink Panther

  ملاحظة: تم دمج المصفوفة الرقمية للأفلام داخل المصفوفة الترابطية للفئات

مصفوفات PHP: عوامل التشغيل

OperatorNameDescriptionHow to do itOutput
x + yUnionCombines elements from both arrays<?php $x = array(‘id’ => 1); $y = array(‘value’ => 10); $z = $x + $y; ?>Array([id] => 1 [value] => 10)
X == yEqualCompares two arrays if they are equal and returns true if yes.<?php $x = array(“id” => 1); $y = array(“id” => “1”); if($x == $y) { echo “true”; } else { echo “false”; } ?>True or 1
X === yIdenticalCompares both the values and data types<?php $x = array(“id” => 1); $y = array(“id” => “1”); if($x === $y) { echo “true”; } else { echo “false”; } ?>False or 0
X != y, x <> yNot equal <?php $x = array(“id” => 1); $y = array(“id” => “1”); if($x != $y) { echo “true”; } else { echo “false”; } ?>False or 0
X !== yNon identical <?php $x = array(“id” => 1); $y = array(“id” => “1”); if($x !== $y) { echo “true”; } else { echo “false”; } ?>True or 1

وظائف مصفوفة PHP

تُستخدم وظيفة العد لحساب عدد العناصر التي تحتويها مصفوفة php. يوضح الكود أدناه التنفيذ.

<?php
$lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith");
echo count($lecturers);
?>

النتيجة :

3

دالة is_array

تستخدم الدالة is_array لتحديد ما إذا كان المتغير مصفوفة أم لا. لنلقِ نظرة الآن على مثال يقوم بتنفيذ وظائف is_array.

<?php
$lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith");
echo is_array($lecturers);
?>

النتيجة :

1

فرز و ترتيب

تُستخدم هذه الوظيفة لفرز المصفوفات حسب القيم.
إذا كانت القيم أبجدية رقمية ، فإنها تفرزها بالترتيب الأبجدي.
إذا كانت القيم رقمية ، فإنه يفرزها بترتيب تصاعدي.
يقوم بإزالة مفاتيح الوصول الموجودة وإضافة مفاتيح رقمية جديدة.
ناتج هذه الوظيفة هو مصفوفة رقمية

<?php
$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");

sort($persons);

print_r($persons);
?>

النتيجة

Array ( [0] => Female [1] => Female [2] => Male )

ksort

تُستخدم هذه الوظيفة لفرز المصفوفة باستخدام المفتاح. يوضح المثال التالي استخدامه.

<?php
$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");

ksort($persons);

print_r($persons);
?>
Array ( [John] => Male [Mary] => Female [Mirriam] => Female )

asort

تُستخدم هذه الوظيفة لفرز المصفوفة باستخدام القيم. يوضح المثال التالي استخدامه.

<?php

$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");

asort($persons);

print_r($persons);

?>
Array ( [Mary] => Female [Mirriam] => Female [John] => Male )

لماذا نستخدم المصفوفات؟

يمكن شد محتويات المصفوفات ،
تساعد المصفوفات بسهولة في تجميع المعلومات ذات الصلة مثل تفاصيل تسجيل الدخول إلى الخادم معًا
تساعد المصفوفات في كتابة كود أنظف.