PHP Common adalah perpustakaan PHP yang berisi sekumpulan fungsi umum.
Untuk menjalankan tes gunakan:
composer install -v
vendor/bin/phpunit
Temukan PHP Common di Packagist:
Untuk menggunakan ArrayUtil
Anda perlu mengimpornya.
use Northern Common Util ArrayUtil as Arr ;
Untuk mendapatkan nilai dari array gunakan get
:
$ a = array (
' foo ' => ' bar '
);
$ value = Arr:: get ( $ a , ' foo ' );
// $value == 'bar'
Anda dapat menentukan nilai default jika kunci yang Anda coba ambil tidak ada:
$ value = Arr:: get ( $ a , ' baz ' , NULL );
// $value == NULL
Untuk mendapatkan nilai bersarang dari array, Anda dapat menentukan jalur:
$ a = array (
' foo ' => array (
' bar ' => array (
' baz ' => 123
)
)
);
$ value = Arr:: get ( $ a , ' foo.bar.baz ' );
// $value == 123
Jika diperlukan, Anda dapat menggunakan pembatas alternatif:
$ value = Arr:: getPath ( $ a , ' foo/bar/baz ' , NULL , ' / ' );
// $value == 123
Untuk menetapkan nilai atau nilai bertumpuk gunakan metode set
:
$ a = array ();
Arr:: set ( $ a , ' foo.bar.baz ' , 123 );
// $a = array( 'foo' => array( 'bar' => array( 'baz' => 123 ) ) );
Jika kunci atau jalur belum ada, maka akan dibuat.
Dengan insert
Anda dapat membuat nilai baru pada jalur atau kunci, namun jalur tersebut hanya akan dibuat jika belum ada.
$ a = array ();
Arr:: set ( $ a , ' foo.bar.baz ' , 123 );
Arr:: insert ( $ a , ' foo.bar.baz ' , 123 );
// The insert statement does nothing.
Dimungkinkan juga untuk menghapus kunci atau jalur:
Arr:: delete ( $ a , ' foo.bar.baz ' );
Atau untuk menghapus beberapa jalur atau kunci sekaligus:
Arr:: delete ( $ a , array ( ' fum ' , ' foo.bar.baz ' , ' foo.bar.bob ' ) );
Atau dengan pembatas alternatif:
Arr:: delete ( $ a , array ( ' fum ' , ' foo/bar/baz ' , ' foo/bar/bob ' ), ' / ' );
Untuk menguji apakah ada kunci atau jalur, gunakan:
$ value = Arr:: exists ( $ a , ' foo.bar.baz ' );
// $value == TRUE
Jika Anda perlu memberi awalan pada semua nilai dalam array, gunakan metode prefix
:
$ a = array ( ' 1 ' , ' 2 ' , ' 3 ' );
$ values = Arr:: prefix ( $ a , ' $ ' );
// $values = array('$1', '$2', '$3');
Jika Anda perlu melakukan postfix semua nilai dalam array, gunakan metode postfix
:
$ a = array ( ' 1 ' , ' 2 ' , ' 3 ' );
$ values = Arr:: postfix ( $ a , ' $ ' );
// $values = array('1$', '2$', '3$');
Terkadang Anda perlu "meratakan" sebuah array, yaitu merekatkan kunci dan nilai bersama-sama dengan simbol atau karakter:
$ a = array ( ' param1 ' => ' 123 ' , ' param2 ' => ' xyz ' );
$ values = Arr:: flatten ( $ a );
// $values = array('param1=123', 'param2=xyz');
Atau gunakan karakter 'lem' yang berbeda dari '=' default:
$ values = Arr:: flatten ( $ a , ' | ' );
// $values = array( 'param1|123', 'param2|xyz' );
Mengembalikan kunci array dengan cara yang sama seperti fungsi array_keys
, namun keys
memungkinkan Anda menentukan awalan:
$ a = array ( ' param1 ' => ' 123 ' , ' param2 ' => ' xyz ' );
$ values = Arr:: keys ( $ a , ' & ' );
// $values = array( '¶m1', '¶m2' )
Mengembalikan nilai array dengan cara yang sama seperti fungsi array_values
, namun, values
memungkinkan Anda menentukan awalan:
$ a = array ( ' param1 ' => ' 123 ' , ' param2 ' => ' xyz ' );
$ values = Arr:: values ( $ a , ' & ' );
// $values = array( '&123', '&xyz' )
Menguji apakah nilai dari satu array ada di array lain. Misalnya:
$ b = Arr:: contains ( array ( ' A ' , ' B ' ), array ( ' A ' , ' B ' , ' C ' ) );
// $b = TRUE
Tes di atas apakah nilai array pertama (jarum) ada di array kedua (tumpukan jerami), yang mana dalam contoh di atas adalah benar.
Mengembalikan nilai dari array dan menghapus kunci dalam array.
$ a = array (
' foo ' => ' bar '
);
$ value = Arr:: extract ( $ a , ' foo ' );
// $value == 'bar'
// $a = array()
Contoh di atas mengembalikan nilai foo
dari array dan menghapus kunci foo
dari array.