Skip to content

Instantly share code, notes, and snippets.

@trikitrok
Last active August 29, 2015 13:57
Show Gist options
  • Save trikitrok/ffac9557a10d7369e004 to your computer and use it in GitHub Desktop.
Save trikitrok/ffac9557a10d7369e004 to your computer and use it in GitHub Desktop.
<?php
$elements = array(1, 2, 3);
// array_map
// (PHP 4 >= 4.0.6, PHP 5)
$mappedElements = array_map(
function($element) {
return 2 * $element;
},
$elements
);
var_dump($mappedElements);
print("\n");
// array_walk
// (PHP 4, PHP 5)
$mappedElements2 = array_walk(
$elements,
function($element) {
echo 2 * $element . "\n";
}
);
var_dump($mappedElements2); // true or false
// array_filter
// (PHP 4 >= 4.0.6, PHP 5)
$oddNumbers = array_filter(
$elements,
function ($element) {
return $element % 2 == 1;
}
);
var_dump($oddNumbers);
// array_reduce
// (PHP 4 >= 4.0.5, PHP 5)
$mult = array_reduce(
$elements,
function ($acc, $element) {
return $acc *= $element;
},
1
);
var_dump($mult);
// array_any
// (not in PHP yet)
function array_any($array, $predicate) {
for ($i = 0; $i < sizeof($array); $i++) {
$element = $array[$i];
if ($predicate($element)) {
return true;
}
}
return false;
}
var_dump(
array_any(
$elements,
function($number) {
return $number % 2 === 1;
}
)
);
var_dump(
array_any(
$elements,
function($number) {
return $number > 20;
}
)
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment