PHPコールバック関数を使用して配列内の要素をフィルタします.
3783 ワード
PHP関数
array_filter
サマリ
コールバック関数を使用して配列内の要素をフィルタします.
関数プロトタイプ array_filter ( array $array , callable|null $callback = null , int $mode = 0 ) : array
パラメータ
コールバック関数を使用して配列内の要素をフィルタします.
関数プロトタイプ
array_filter ( array $array , callable|null $callback = null , int $mode = 0 ) : array
パラメータ
$array
重複する配列.$callback
使用するコールバック関数.$mode
コールバック関数に渡すパラメータ.ARRAY_FILTER_USE_KEY
の場合、値のない鍵のみが渡されます.ARRAY_FILTER_USE_BOTH
の場合、鍵と値が渡されます.コンテンツを転送しない場合、または
0
を転送しない場合、値のみが転送されます.説明:
PHP 4.0.6から提供されます.
配列内の各値を繰り返し、コールバック関数に渡します.
コールバック関数がtrue
を返すと、配列の現在の値は結果配列を返します.
配列キーが保持され、配列がインデックス化されている場合、鍵は並べ替えられません.
array values()関数を使用して、結果配列を再インデックスできます。
フィルタされた配列を返します.
PHP 8.0バージョンから、$callback
はnull
とすることができる.
PHP 5.6から$mode
定数にARRAY_FILTER_USE_KEY
とARRAY_FILTER_USE_BOTH
が追加された.
コールバック関数が元の配列(要素の追加、削除、無効化など)を変更した場合、この関数の動作は保証されません.
例1 function odd($var)
{
// returns whether the input integer is odd
return $var & 1;
}
function even($var)
{
// returns whether the input integer is even
return !($var & 1);
}
$array1 = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5];
$array2 = [6, 7, 8, 9, 10, 11, 12];
echo "Odd :\n";
print_r(array_filter($array1, "odd"));
echo "Even:\n";
print_r(array_filter($array2, "even"));
結果。 Odd :
Array
(
[a] => 1
[c] => 3
[e] => 5
)
Even:
Array
(
[0] => 6
[2] => 8
[4] => 10
[6] => 12
)
例2 $entry = [
0 => 'foo',
1 => false,
2 => -1,
3 => null,
4 => '',
5 => '0',
6 => 0,
];
print_r(array_filter($entry));
結果。 Array
(
[0] => foo
[2] => -1
)
例3 $arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4];
var_dump(array_filter($arr, function($k) {
return $k == 'b';
}, ARRAY_FILTER_USE_KEY));
var_dump(array_filter($arr, function($v, $k) {
return $k == 'b' || $v == 4;
}, ARRAY_FILTER_USE_BOTH));
結果。 array(1) {
["b"]=>
int(2)
}
array(2) {
["b"]=>
int(2)
["d"]=>
int(4)
}
リファレンス
https://phpman.ml/array_filter
https://www.php.net/manual/en/function.array-filter.php
Pythonコード def array_filter(array, callback=None):
filter(callback, array)
そうかんかんすう
array_map
array_reduce
array_walk
開発依頼を依頼したい場合は、FAQを読み、適切であれば[email protected]に連絡してください.
Reference
この問題について(PHPコールバック関数を使用して配列内の要素をフィルタします.), 我々は、より多くの情報をここで見つけました
https://velog.io/@instantcoderweb/PHP-콜백-함수를-사용하여-배열의-요소를-필터링합니다
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
フィルタされた配列を返します.
PHP 8.0バージョンから、
$callback
はnull
とすることができる.PHP 5.6から
$mode
定数にARRAY_FILTER_USE_KEY
とARRAY_FILTER_USE_BOTH
が追加された.コールバック関数が元の配列(要素の追加、削除、無効化など)を変更した場合、この関数の動作は保証されません.
例1 function odd($var)
{
// returns whether the input integer is odd
return $var & 1;
}
function even($var)
{
// returns whether the input integer is even
return !($var & 1);
}
$array1 = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5];
$array2 = [6, 7, 8, 9, 10, 11, 12];
echo "Odd :\n";
print_r(array_filter($array1, "odd"));
echo "Even:\n";
print_r(array_filter($array2, "even"));
結果。 Odd :
Array
(
[a] => 1
[c] => 3
[e] => 5
)
Even:
Array
(
[0] => 6
[2] => 8
[4] => 10
[6] => 12
)
例2 $entry = [
0 => 'foo',
1 => false,
2 => -1,
3 => null,
4 => '',
5 => '0',
6 => 0,
];
print_r(array_filter($entry));
結果。 Array
(
[0] => foo
[2] => -1
)
例3 $arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4];
var_dump(array_filter($arr, function($k) {
return $k == 'b';
}, ARRAY_FILTER_USE_KEY));
var_dump(array_filter($arr, function($v, $k) {
return $k == 'b' || $v == 4;
}, ARRAY_FILTER_USE_BOTH));
結果。 array(1) {
["b"]=>
int(2)
}
array(2) {
["b"]=>
int(2)
["d"]=>
int(4)
}
リファレンス
https://phpman.ml/array_filter
https://www.php.net/manual/en/function.array-filter.php
Pythonコード def array_filter(array, callback=None):
filter(callback, array)
そうかんかんすう
array_map
array_reduce
array_walk
開発依頼を依頼したい場合は、FAQを読み、適切であれば[email protected]に連絡してください.
Reference
この問題について(PHPコールバック関数を使用して配列内の要素をフィルタします.), 我々は、より多くの情報をここで見つけました
https://velog.io/@instantcoderweb/PHP-콜백-함수를-사용하여-배열의-요소를-필터링합니다
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
function odd($var)
{
// returns whether the input integer is odd
return $var & 1;
}
function even($var)
{
// returns whether the input integer is even
return !($var & 1);
}
$array1 = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5];
$array2 = [6, 7, 8, 9, 10, 11, 12];
echo "Odd :\n";
print_r(array_filter($array1, "odd"));
echo "Even:\n";
print_r(array_filter($array2, "even"));
Odd :
Array
(
[a] => 1
[c] => 3
[e] => 5
)
Even:
Array
(
[0] => 6
[2] => 8
[4] => 10
[6] => 12
)
例2 $entry = [
0 => 'foo',
1 => false,
2 => -1,
3 => null,
4 => '',
5 => '0',
6 => 0,
];
print_r(array_filter($entry));
結果。 Array
(
[0] => foo
[2] => -1
)
例3 $arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4];
var_dump(array_filter($arr, function($k) {
return $k == 'b';
}, ARRAY_FILTER_USE_KEY));
var_dump(array_filter($arr, function($v, $k) {
return $k == 'b' || $v == 4;
}, ARRAY_FILTER_USE_BOTH));
結果。 array(1) {
["b"]=>
int(2)
}
array(2) {
["b"]=>
int(2)
["d"]=>
int(4)
}
リファレンス
https://phpman.ml/array_filter
https://www.php.net/manual/en/function.array-filter.php
Pythonコード def array_filter(array, callback=None):
filter(callback, array)
そうかんかんすう
array_map
array_reduce
array_walk
開発依頼を依頼したい場合は、FAQを読み、適切であれば[email protected]に連絡してください.
Reference
この問題について(PHPコールバック関数を使用して配列内の要素をフィルタします.), 我々は、より多くの情報をここで見つけました
https://velog.io/@instantcoderweb/PHP-콜백-함수를-사용하여-배열의-요소를-필터링합니다
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
$entry = [
0 => 'foo',
1 => false,
2 => -1,
3 => null,
4 => '',
5 => '0',
6 => 0,
];
print_r(array_filter($entry));
Array
(
[0] => foo
[2] => -1
)
例3 $arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4];
var_dump(array_filter($arr, function($k) {
return $k == 'b';
}, ARRAY_FILTER_USE_KEY));
var_dump(array_filter($arr, function($v, $k) {
return $k == 'b' || $v == 4;
}, ARRAY_FILTER_USE_BOTH));
結果。 array(1) {
["b"]=>
int(2)
}
array(2) {
["b"]=>
int(2)
["d"]=>
int(4)
}
リファレンス
https://phpman.ml/array_filter
https://www.php.net/manual/en/function.array-filter.php
Pythonコード def array_filter(array, callback=None):
filter(callback, array)
そうかんかんすう
array_map
array_reduce
array_walk
開発依頼を依頼したい場合は、FAQを読み、適切であれば[email protected]に連絡してください.
Reference
この問題について(PHPコールバック関数を使用して配列内の要素をフィルタします.), 我々は、より多くの情報をここで見つけました
https://velog.io/@instantcoderweb/PHP-콜백-함수를-사용하여-배열의-요소를-필터링합니다
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4];
var_dump(array_filter($arr, function($k) {
return $k == 'b';
}, ARRAY_FILTER_USE_KEY));
var_dump(array_filter($arr, function($v, $k) {
return $k == 'b' || $v == 4;
}, ARRAY_FILTER_USE_BOTH));
array(1) {
["b"]=>
int(2)
}
array(2) {
["b"]=>
int(2)
["d"]=>
int(4)
}
リファレンス
https://phpman.ml/array_filter
https://www.php.net/manual/en/function.array-filter.php
Pythonコード def array_filter(array, callback=None):
filter(callback, array)
そうかんかんすう
array_map
array_reduce
array_walk
開発依頼を依頼したい場合は、FAQを読み、適切であれば[email protected]に連絡してください.
Reference
この問題について(PHPコールバック関数を使用して配列内の要素をフィルタします.), 我々は、より多くの情報をここで見つけました
https://velog.io/@instantcoderweb/PHP-콜백-함수를-사용하여-배열의-요소를-필터링합니다
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
def array_filter(array, callback=None):
filter(callback, array)
そうかんかんすう
array_map
array_reduce
array_walk
開発依頼を依頼したい場合は、FAQを読み、適切であれば[email protected]に連絡してください.
Reference
この問題について(PHPコールバック関数を使用して配列内の要素をフィルタします.), 我々は、より多くの情報をここで見つけました
https://velog.io/@instantcoderweb/PHP-콜백-함수를-사용하여-배열의-요소를-필터링합니다
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
Reference
この問題について(PHPコールバック関数を使用して配列内の要素をフィルタします.), 我々は、より多くの情報をここで見つけました https://velog.io/@instantcoderweb/PHP-콜백-함수를-사용하여-배열의-요소를-필터링합니다テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol