【发布时间】:2018-03-25 07:39:00
【问题描述】:
我正在尝试将一个数组划分为一个多维数组,每个包含的数组中有 2 个“元素”。
到目前为止,我只能将它们分成指定数量的块,但是由于元素的数量是从 foreach 循环和调用数据库中确定的,因此我很难将它们分成 2 的倍数.
foreach ($_POST as $key)
{
$data[] = $key;
}
echo '<pre>';
print_r(partition($data, $i));
echo '</pre>';
function partition(Array $list, $p)
{
$listlen = count($list);
$partlen = floor($listlen / $p);
$partrem = $listlen % $p;
$partition = array();
$mark = 0;
for($px = 0; $px < $p; $px ++)
{
$incr = ($px < $partrem) ? $partlen + 1 : $partlen;
$partition[$px] = array_slice($list, $mark, $incr);
$mark += $incr;
}
return $partition;
}
想要的输出应该是这样的......
Array
(
[0] => Array
(
[0] => img.jpg
[1] => http://google.com
)
[1] => Array
(
[0] => img.jpg
[1] => http://google.com
)
[2] => Array
(
[0] => img.jpg
[1] => http://google.com
)
)
任何帮助将不胜感激。
谢谢
【问题讨论】:
-
如果您添加一个至少是预期结果的简单示例会很有用
-
道歉。我添加了所需输出的示例
标签: php arrays multidimensional-array foreach