OK

CSSJockey websites use cookies to give you a better user experience on our websites. Visit our Privacy and Cookie policy to get more information about cookies, including how you could opt-out.

PHP - Flatten or Merge a Multidimensional Array

Here's a code snippet to flatten or merge multidimensional array. This is useful when we need to find if a value exists...

published: 1 year ago

Here’s a code snippet to flatten or merge multidimensional array. This is useful when we need to find if a value exists in any of the nodes in a multidimensional array.

I use this function in my Paid Content Packages WordPress Plugin to find out if any of the packages have any page or post assigned.

PHP Function:

function flattenArray($arrayToFlatten) {
	$flatArray = array();
	foreach($arrayToFlatten as $element) {
		if (is_array($element)) {
			$flatArray = array_merge($flatArray, flattenArray($element));
		} else {
			$flatArray[] = $element;
		}
	}
	return $flatArray;
}

Example:

$array = array(
	'parent-one' => 'parent-one',
	'parent-two' => 'parent-two',
	'parent-three' => array(
		'child-one' => 'child-one',
		'child-two' => 'child-two',
		'child-three' => array(
			'kid-one' => 'kid-one',
			'kid-two' => 'kid-two',
		),
	),
);
print_r(flattenArray($array));

This code will print the following output.

Array
(
    [0] => parent-one
    [1] => parent-two
    [2] => child-one
    [3] => child-two
    [4] => kid-one
    [5] => kid-two
)

There are shorter versions of this function available, however, I like to use the code which is clear and easy to read. Hope this helps you if you are finding a solution to this.

 
 

pre-built solutions

Speed-up the launch of your web projects with our ready-to-use plugins, themes and widgets!

This WordPress Plugin is an elegant Support Tickets System and FAQs Portal for WordPress that's built with VueJs.More In...
This WordPress plugin allows you to create different kind of pop-ups with custom styles, colors, size, display opti...