AGGREGATE_INFO(3) 1 AGGREGATE_INFO(3)aggregate_info - Gets aggregation information for a given objectSYNOPSIS
array aggregate_info (object $object)
DESCRIPTION
Gets the aggregation information for the given $object.
PARAMETERS
o $object
-
RETURN VALUES
Returns the aggregation information as an associative array of arrays of methods and properties. The key for the main array is the name of
the aggregated class.
EXAMPLES
Example #1
Using aggregate_info(3)
<?php
class Slicer {
var $vegetable;
function Slicer($vegetable)
{
$this->vegetable = $vegetable;
}
function slice_it($num_cuts)
{
echo "Doing some simple slicing
";
for ($i=0; $i < $num_cuts; $i++) {
// do some slicing
}
}
}
class Dicer {
var $vegetable;
var $rotation_angle = 90; // degrees
function Dicer($vegetable)
{
$this->vegetable = $vegetable;
}
function dice_it($num_cuts)
{
echo "Cutting in one direction
";
for ($i=0; $i < $num_cuts; $i++) {
// do some cutting
}
$this->rotate($this->rotation_angle);
echo "Cutting in a second direction
";
for ($i=0; $i < $num_cuts; $i++) {
// do some more cutting
}
}
function rotate($deg)
{
echo "Now rotating {$this->vegetable} {$deg} degrees
";
}
function _secret_super_dicing($num_cuts)
{
// so secret we cannot show you ;-)
}
}
$obj = new Slicer('onion');
aggregate($obj, 'Dicer');
print_r(aggregate_info($obj));
?>
The above example will output:
Array
(
[dicer] => Array
(
[methods] => Array
(
[0] => dice_it
[1] => rotate
)
[properties] => Array
(
[0] => rotation_angle
)
)
)
As you can see, all properties and methods of the Dicer class have been aggregated into our new object, with the exception of the class
constructor and the method _secret_super_dicing
SEE ALSO aggregate(3), aggregate_methods(3), aggregate_methods_by_list(3), aggregate_methods_by_regexp(3), aggregate_properties(3), aggregate_prop-
erties_by_list(3), aggregate_properties_by_regexp(3), deaggregate(3).
PHP Documentation Group AGGREGATE_INFO(3)
Check Out this Related Man Page
ARRAY_FILTER(3) 1 ARRAY_FILTER(3)array_filter - Filters elements of an array using a callback functionSYNOPSIS
array array_filter (array $array, [callable $callback], [int $flag])
DESCRIPTION
Iterates over each value in the $array passing them to the $callback function. If the $callback function returns true, the current value
from $array is returned into the result array. Array keys are preserved.
PARAMETERS
o $array
- The array to iterate over
o $callback
- The callback function to use If no $callback is supplied, all entries of $array equal to FALSE (see converting to boolean) will
be removed.
o $flag
- Flag determining what arguments are sent to $callback:
o ARRAY_FILTER_USE_KEY - pass key as the only argument to $callback instead of the value
o ARRAY_FILTER_USE_BOTH - pass both value and key as arguments to $callback instead of the value
RETURN VALUES
Returns the filtered array.
CHANGELOG
+--------+---------------------------------------------------+
|Version | |
| | |
| | Description |
| | |
+--------+---------------------------------------------------+
| 5.6.0 | |
| | |
| | Added optional $flag parameter and constants |
| | ARRAY_FILTER_USE_KEY and ARRAY_FILTER_USE_BOTH |
| | |
+--------+---------------------------------------------------+
EXAMPLES
Example #1
array_filter(3) example
<?php
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 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
$array2 = array(6, 7, 8, 9, 10, 11, 12);
echo "Odd :
";
print_r(array_filter($array1, "odd"));
echo "Even:
";
print_r(array_filter($array2, "even"));
?>
The above example will output:
Odd :
Array
(
[a] => 1
[c] => 3
[e] => 5
)
Even:
Array
(
[0] => 6
[2] => 8
[4] => 10
[6] => 12
)
Example #2
array_filter(3) without $callback
<?php
$entry = array(
0 => 'foo',
1 => false,
2 => -1,
3 => null,
4 => ''
);
print_r(array_filter($entry));
?>
The above example will output:
Array
(
[0] => foo
[2] => -1
)
Example #3
array_filter(3) with $flag
<?php
$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));
?>
The above example will output:
array(1) {
["b"]=>
int(2)
}
array(2) {
["b"]=>
int(2)
["d"]=>
int(4)
}
NOTES
Caution
If the array is changed from the callback function (e.g. element added, deleted or unset) the behavior of this function is unde-
fined.
SEE ALSO array_map(3), array_reduce(3), array_walk(3).
PHP Documentation Group ARRAY_FILTER(3)