PHP Common 、一連の共通機能を含む PHP ライブラリです。
テストを実行するには、以下を使用します。
composer install -v
vendor/bin/phpunit
Packagist でPHP Common見つけます。
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
上記は、最初の配列 (needle) の値が 2 番目の配列 (haystack) に存在するかどうかをテストします。上記の例では、これは true です。
配列から値を返し、配列内のキーを削除します。
$ a = array (
' foo ' => ' bar '
);
$ value = Arr:: extract ( $ a , ' foo ' );
// $value == 'bar'
// $a = array()
上記の例は、配列からfoo
の値を返し、配列からfoo
キーを削除します。