PHP函数implode的优化

4
我想使用implode来打印一个数组,但我想调整它,使得implode的"glue"在每两个元素中显示一次,而不是在每个元素中都显示。
$nombreNombre=array('josh','13','mike','44','dude','98','scott','450');
echo '<li>' . implode('</li><li>', $nombreNombre).'</li>

通过这个我得到的是:

  • josh
  • 13
  • mike
  • 44
  • dude
  • 98
  • scott
  • 450
  • 而我想要的是:

  • josh 13
  • mike 44
  • dude 98
  • scott 450
  • 1个回答

    6
    你可以通过 array_chunk 运行 $nombreNombre,对每一对进行 array_map 转换为字符串,然后使用 implode 函数。
    $arr = array('josh','13','mike','44','dude','98','scott','450');
    $arr = array_chunk($arr, 2);
    function repr($pair) { list($a, $b) = $pair; return "$a $b"; }
    $arr = array_map("repr", $arr);
    echo '<li>' . implode('</li><li>', $arr) . '</li>';
    

    你能给个示例代码吗?我想知道你是如何解决它的。 - Tarik
    我喜欢你使用内置函数的方式。谢谢。 - Tarik

    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接