脚本宝典收集整理的这篇文章主要介绍了用逗号和字符串PHP分隔数组,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我的代码:
$array = array( 'user1','user2','user3','user4','user5' ); $last = array_pop( $array ); $string = count( $array ) ? implode( ",",$array ) . " and " . $last : $last; PRintf( 'Authors: %s',$string );
我的代码打印出来:
作者:user1,user2,user3,user4和user5
我成功地创建了一个代码,用逗号来破坏数组并搜索最后一个密钥并用一个单词’和’分隔它.
但这就是我想要的,但经过两天多的工作后,我失败了:
作者:user1,user2和user3以及其他2个人.
虽然此解决方案可能在页面上的可扩展性最低,但它可能是最容易理解的(将代码与其生成的输出相关联).如果这是关于“喜欢”或其他什么,我真的没有看到对可扩展性的大量需求 – 但我可能是错的.
密切关注2计数案例.我的解决方案用和代替,而不是,这似乎更适合英语/人类.
$arrays[] = array(); $arrays[] = array('user1'); $arrays[] = array('user1','user2'); $arrays[] = array('user1','user3'); $arrays[] = array('user1','user4'); $arrays[] = array('user1','user5'); foreach ($arrays as $i => $array) { echo "test $i: "; if (!$count = sizeof($array)) { echo "nobody"; } elseif ($count == 1) { echo $array[0]; } elseif ($count == 2) { echo "{$array[0]} and {$array[1]}"; } elseif ($count == 3) { echo "{$array[0]},{$array[1]},and {$array[2]}"; } else { echo "{$array[0]},{$array[2]},and ",$count - 3," other",($count != 4 ? 's' : ''); } echo "\n---\n"; }
输出:
TEST 0: nobody --- TEST 1: user1 --- TEST 2: user1 and user2 --- TEST 3: user1,and user3 --- TEST 4: user1,and 1 other --- TEST 5: user1,and 2 others ---
附:相同处理的更紧凑版本:
if (!$count = sizeof($array)) { echo "nobody"; } elseif ($count < 3) { echo implode(' and ',$array); } else{ echo "{$array[0]},{$array[1]}"; if ($count == 3) { echo ",and {$array[2]}"; } else { echo ",($count != 4 ? 's' : ''); } }
最后,这是一种“医生”阵列和前置以及最终元素的方法.我想无论如何你转动这个任务,会有一定程度的卷积.
$count = sizeof($array); if ($count < 3) { echo implode(' and ',$array); } else { if ($count == 3) { $array[2] = "and {$array[2]}"; } else { $more = $count - 3; array_splice($array,3,$more,["and $more other" . ($more > 1 ? 's' : '')]); } echo implode(',',$array); }
以上是脚本宝典为你收集整理的用逗号和字符串PHP分隔数组全部内容,希望文章能够帮你解决用逗号和字符串PHP分隔数组所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。