PHP Common هي مكتبة PHP تحتوي على مجموعة من الوظائف المشتركة.
لتشغيل الاختبارات استخدم:
composer install -v
vendor/bin/phpunit
ابحث عن PHP Common على Packagist:
لاستخدام ArrayUtil تحتاج إلى استيراده.
use Northern Common Util ArrayUtil as Arr ; للحصول على قيمة من مصفوفة استخدم get :
$ a = array (
' foo ' => ' bar '
);
$ value = Arr:: get ( $ a , ' foo ' );
// $value == 'bar'يمكنك تحديد قيمة افتراضية في حالة عدم وجود المفتاح الذي تحاول استرداده:
$ value = Arr:: get ( $ a , ' baz ' , NULL );
// $value == NULLللحصول على قيمة متداخلة من مصفوفة، يمكنك تحديد مسار:
$ a = array (
' foo ' => array (
' bar ' => array (
' baz ' => 123
)
)
);
$ value = Arr:: get ( $ a , ' foo.bar.baz ' );
// $value == 123إذا لزم الأمر، يمكنك استخدام محدد بديل:
$ value = Arr:: getPath ( $ a , ' foo/bar/baz ' , NULL , ' / ' );
// $value == 123 لتعيين قيمة أو قيمة متداخلة، استخدم الطريقة set :
$ a = array ();
Arr:: set ( $ a , ' foo.bar.baz ' , 123 );
// $a = array( 'foo' => array( 'bar' => array( 'baz' => 123 ) ) );إذا لم يكن المفتاح أو المسار موجودًا بالفعل، فسيتم إنشاؤه.
باستخدام insert يمكنك إنشاء قيمة جديدة على المسار أو المفتاح، ومع ذلك، لن يتم إنشاء المسار إلا إذا لم يكن موجودًا بعد.
$ a = array ();
Arr:: set ( $ a , ' foo.bar.baz ' , 123 );
Arr:: insert ( $ a , ' foo.bar.baz ' , 123 );
// The insert statement does nothing.من الممكن أيضًا حذف مفتاح أو مسار:
Arr:: delete ( $ a , ' foo.bar.baz ' ); أو لحذف مسارات أو مفاتيح متعددة مرة واحدة:
Arr:: delete ( $ a , array ( ' fum ' , ' foo.bar.baz ' , ' foo.bar.bob ' ) );أو مع محدد بديل:
Arr:: delete ( $ a , array ( ' fum ' , ' foo/bar/baz ' , ' foo/bar/bob ' ), ' / ' );لاختبار وجود مفتاح أو مسار، استخدم:
$ value = Arr:: exists ( $ a , ' foo.bar.baz ' );
// $value == TRUE إذا كنت بحاجة إلى إضافة بادئة لجميع القيم في المصفوفة، فاستخدم التابع prefix :
$ a = array ( ' 1 ' , ' 2 ' , ' 3 ' );
$ values = Arr:: prefix ( $ a , ' $ ' );
// $values = array('$1', '$2', '$3'); إذا كنت بحاجة إلى إصلاح جميع القيم في المصفوفة، فاستخدم التابع postfix :
$ a = array ( ' 1 ' , ' 2 ' , ' 3 ' );
$ values = Arr:: postfix ( $ a , ' $ ' );
// $values = array('1$', '2$', '3$');في بعض الأحيان تحتاج إلى "تسوية" المصفوفة، أي لصق المفاتيح والقيم مع رمز أو حرف:
$ a = array ( ' param1 ' => ' 123 ' , ' param2 ' => ' xyz ' );
$ values = Arr:: flatten ( $ a );
// $values = array('param1=123', 'param2=xyz');أو استخدم حرف "غراء" مختلفًا عن الحرف الافتراضي "=":
$ values = Arr:: flatten ( $ a , ' | ' );
// $values = array( 'param1|123', 'param2|xyz' ); تُرجع مفاتيح المصفوفة بنفس الطريقة التي تعمل بها وظيفة array_keys ، ومع ذلك، تتيح لك keys تحديد بادئة:
$ a = array ( ' param1 ' => ' 123 ' , ' param2 ' => ' xyz ' );
$ values = Arr:: keys ( $ a , ' & ' );
// $values = array( '¶m1', '¶m2' ) تُرجع قيم مصفوفة بنفس الطريقة التي تعمل بها وظيفة array_values ، ومع ذلك، تسمح لك values بتحديد بادئة:
$ a = array ( ' param1 ' => ' 123 ' , ' param2 ' => ' xyz ' );
$ values = Arr:: values ( $ a , ' & ' );
// $values = array( '&123', '&xyz' )يختبر ما إذا كانت قيم صفيف ما موجودة في صفيف آخر. على سبيل المثال:
$ b = Arr:: contains ( array ( ' A ' , ' B ' ), array ( ' A ' , ' B ' , ' C ' ) );
// $b = TRUEيختبر ما سبق ما إذا كانت قيم المصفوفة الأولى (الإبرة) موجودة في المصفوفة الثانية (كومة قش)، وهذا صحيح في المثال أعلاه.
إرجاع قيمة من مصفوفة وحذف المفتاح الموجود في المصفوفة.
$ a = array (
' foo ' => ' bar '
);
$ value = Arr:: extract ( $ a , ' foo ' );
// $value == 'bar'
// $a = array() يقوم المثال أعلاه بإرجاع قيمة foo من المصفوفة ويحذف مفتاح foo من المصفوفة.