rwigs Posted May 13, 2015 Share Posted May 13, 2015 Hi all. New here, and new to php. I have been working on a project and had some good success. I am using the array_chunk_vertical function and it works great. Now I need it to do a little bit more and I can't figure it out. I have attached my working file for review. But basically, this is what I am working on. Here is my code: <?php function array_chunk_vertical($input, $size, $preserve_keys = false, $size_is_horizontal = true) { $chunks = array(); if ($size_is_horizontal) { $chunk_count = ceil(count($input) / $size); } else { $chunk_count = $size; } for ($chunk_index = 0; $chunk_index < $chunk_count; $chunk_index++) { $chunks[] = array(); } $chunk_index = 0; foreach ($input as $key => $value) { if ($preserve_keys) { $chunks[$chunk_index][$key] = $value; } else { $chunks[$chunk_index][] = $value; } if (++$chunk_index == $chunk_count) { $chunk_index = 0; } } return $chunks; } $values = array(1,2,3,4,5,6,7,8,9,10,11,12); $rows = array_chunk_vertical($values, 6); print "<table>\n"; foreach ($rows as $row) { print "<tr>\n"; foreach ($row as $value) { print "<td>" . $value . "</td>\n"; } print "</tr>\n"; } print "</table>\n"; ?> What I have will produce this result (using 6 columns in the function): 1 3 5 7 9 11 2 4 6 8 10 12 What I would like to be able to do is add another dimension and group them but the second dimension, like an employee number. So say I have the following data: employee# value1 value2 value3 value4 value5 value6 value7 value8 value9 value10 value11 value12 101 1 2 3 4 5 6 7 8 9 10 11 12 202 2 4 6 8 10 12 14 16 18 20 22 24 I want the result to be (still using 6 columns): 101 5 10 4 14 24 1 6 11 6 16 2 7 12 8 18 3 8 202 10 20 4 9 2 12 22 Any help for this newbie would be greatly appreciated! columns.php Link to comment https://forums.phpfreaks.com/topic/296297-array_chunk_vertical-with-more-than-one-dimension/ Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.