Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- ###################
- #### USAGE ####
- ###################
- $multidimensional_array = [[1,2, [6]], [5], 'hasan', null, -20, 4];
- $flattened_array = array();
- echo "<pre>";
- echo "<br>Flattened array using global variable:<br>";
- flatten_array($multidimensional_array);
- print_r($flattened_array);
- echo "<br>Flattened array by reference:<br>";
- $flattened_array_using_reference = flatten_array_by_reference($multidimensional_array);
- print_r($flattened_array_using_reference);
- echo "</pre>";
- ###################
- #### METHODS ####
- ###################
- function flatten_array($array) {
- # Method to flatten a multidimensional array to one dimension.
- # Using a global variable
- #
- # $array = an array to convert into one dimension
- if(is_array($array)){
- foreach($array as $item) {
- if(is_array($item)) {
- flatten_array($item);
- } else {
- $GLOBALS['flattened_array'][] = $item;
- }
- }
- }
- }
- function flatten_array_by_reference($array, &$out = array()) {
- # Method to flatten a multidimensional array to one dimension.
- # using, array passing by reference
- #
- # $array - an array to convert into one dimension
- # $out - internal used argument for recursion
- foreach($array as $key => $child){
- if(is_array($child))
- $out = flatten_array_by_reference($child, $out);
- else
- $out[] = $child;
- }
- return $out;
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement