Sunday, 15 February 2015

php - how to use array_map/array_walk function for multidimensional array -



php - how to use array_map/array_walk function for multidimensional array -

i have next multidimensional array: array (size=2) 10 => array (size=7) 1 => array (size=4) 0 => string '10view1' (length=7) 1 => string '10ins1' (length=6) 2 => string '10edit1' (length=7) 3 => string '10del1' (length=6) 2 => array (size=4) 0 => string '10view2' (length=7) 1 => string '10ins2' (length=6) 2 => string '10edit2' (length=7) 3 => string '10del2' (length=6) 3 => array (size=4) 0 => string '10view3' (length=7) 1 => string '10ins3' (length=6) 2 => string '10edit3' (length=7) 3 => string '10del3' (length=6) 11 => array (size=7) 1 => array (size=4) 0 => string '11view1' (length=7) 1 => string '11ins1' (length=6) 2 => string '11edit1' (length=7) 3 => string '11del1' (length=6) 2 => array (size=4) 0 => string '11view2' (length=7) 1 => string '11ins2' (length=6) 2 => string '11edit2' (length=7) 3 => string '11del2' (length=6) 3 => array (size=4) 0 => string '11view3' (length=7) 1 => string '11ins3' (length=6) 2 => string '11edit3' (length=7) 3 => string '11del3' (length=6)

i want convert array like:

1 => array(10 => array( 0 => string '10view1' (length=7) 1 => string '10ins1' (length=6) 2 => string '10edit1' (length=7) 3 => string '10del1' (length=6)), 11 => array( 0 => string '11view1' (length=7) 1 => string '11ins1' (length=6) 2 => string '11edit1' (length=7) 3 => string '11del1' (length=6) ) ), 2 => array( 10 => array( 0 => string '10view2' (length=7) 1 => string '10ins2' (length=6) 2 => string '10edit2' (length=7) 3 => string '10del2' (length=6) ), 11 => array( 0 => string '11view2' (length=7) 1 => string '11ins2' (length=6) 2 => string '11edit2' (length=7) 3 => string '11del2' (length=6) ) ), 3 => array( 10 => array( 0 => string '11view3' (length=7) 1 => string '11ins3' (length=6) 2 => string '11edit3' (length=7) 3 => string '11del3' (length=6) ), 11 => array( 0 => string '11view1' (length=7) 1 => string '11ins1' (length=6) 2 => string '11edit1' (length=7) 3 => string '11del1' (length=6) ) ) please help me confuse solve problem in advance.

it's quite obvious me how implement using foreach loop, wonder if it's possible php array functions array_map or array_walk. please utilize php 5.3 callback function. give thanks you!

using array map can accomplish this

<?php function merge_array($n, $m) { $data = array(); $data[10] = $n; $data[11] = $m; homecoming $data; } $c = array_map("merge_array", $array[10], $array[11]); print_r($c);

using loop simple can accomplish

$count_10 = count($array[10]); $count_11 = count($array[11]); $count = ($count_10>$count_11)?$count_10:$count_11; $data = array(); for($i=0; $i<$count; $i++) { if(isset($array[10][$i])) { $data[$i][] = $array[10][$i]; } if(isset($array[11][$i])) { $data[$i][] = $array[11][$i]; } }

php arrays multidimensional-array

No comments:

Post a Comment