将数组拆分为两个ul列

时间:2015-12-21 16:42:02

标签: php html arrays function foreach

我正在抓取API的职业列表,并将它们放入这样的标题数组中:

$titles = array();
$arr = $doc->getElementsByTagName("h4");
foreach($arr as $item) {
 $titles[] = $item->nodeValue;
}

$content = occupations_html($titles);

return $content;

然后我将这些标题吐出到这样的无序列表/列表项中:

function occupations_html($titles){
  $content = '<ul><li>';
  $content .= implode('</li><li>', $titles);
  $content .= '</li></ul>';

  return $content;
}

这对于创建一个无序列表非常有用,但是我无法将这个动态列表分成两个偶数列表。

2 个答案:

答案 0 :(得分:1)

试试这个你可以做自我分裂:

$i=0;
foreach($array as $value) {
if ($i++ % 3 == 0) {
    $column1[] = $value;
}
if ($i++ % 3 == 1) { // check mod==1
    $column2[] = $value;
}
if ($i++ % 3 == 2) { // check mod==2
    $column3[] = $value;
}
}

答案 1 :(得分:1)

您可以使用类似的功能

function array_column_chunk($data, $columns = 2, $preserve_keys = false){
    return array_chunk($data, ceil(count($data) / $columns), $preserve_keys);
}

将数组块化为您想要的列数,而不是您想要的块长度。