Many times we need to convert multi-dimensional arrays into one-dimensional arrays, because we only need one-dimensional arrays, and one-dimensional arrays are more convenient to use. How to convert multi-dimensional arrays into one-dimensional arrays in PHP? Let’s take a look at three examples of converting multi-dimensional arrays into one-dimensional arrays:
1. Use foreach
Copy code code As follows:
function arr_foreach ($arr)
{
static $tmp=array();
if (!is_array ($arr))
return false; arr_foreach ($val) ;
> }
$a = array (1,2=>array(3,4=>array(5,6)),7);
print_r(arr_foreach($a));
?>
2. Using a for loop, you can only traverse the array of numerical subscripts
Copy the code
The code is as follows:
< ?php
function arr_foreach($arr)
{
static $tmp=array();
for($i=0; $i $tmp[] =$arr[$i]; } }
} } return $tmp; } //Calling example
$a = array(1,array(3 ,array(5,6)),7);
print_r(arr_foreach($a));
?>
3. Use while
Copy code
The code is as follows:
/**
* Convert multi-dimensional array to one-dimensional array
* @author echo
* @link http://www.jb51.net/
* @param array $arr
* @return array
*/
function ArrMd2Ud($arr) {
#Change the value An element serves as a container for address assignment.
$ar_room = &$arr[key($arr)];
#The first container is not an array. if (!is_array($ar_room)) {
#Convert to an array
$ar_room = array($ar_room); } #Move the pointer down next($arr); #Traverse
while (list($k, $v) = each($arr)) {
#If it is an array, dig deep recursively, if not, convert it to an array
$v = is_array($v) ? call_user_func(__FUNCTION__, $v) : array($v);
#Recursive merge
$ar_room = array_merge_recursive($ar_room, $v);
#Release the array element of the current subscript
unset($arr[$k]);
}
return $ar_room;
}
Call example:
Copy code
The code is as follows:
$arr = array(1, 2, 3 => ; array(1, 2, 'ar' => array(1, 2 => array('a', 'b'))), array('ar' => array(3, 4))) ;
print_r(ArrMd2Ud($arr));
Output:
Copy code
The code is as follows:
Array( [0] => 1 [1] => 2 [2] => 1
[3] => 2
[4] => 1
[5] => a
[6] => b
[7] => 3
[8] => 4
)
http://www.bkjia.com/PHPjc/741257.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/741257.htmlTechArticleMany times we need to convert multi-dimensional arrays into one-dimensional arrays, because we only need one-dimensional arrays, and one-dimensional Arrays are more convenient to use. How to convert multi-dimensional arrays into one-dimensional numbers in PHP...