我使用了explode()然后计算到:
这是SELECT语句的一部分:
GROUP_CONCAT(CASE WHEN c.twitter IS NOT NULL AND c.twitter <> ''
THEN CONCAT('!',c.twitter) END SEPARATOR ' ') AS tweetWinners
$tweeters = $row['tweetWinners'];
$twit = explode(' ' , $tweeters);
$countTwits = count($twit);
当我回复$ tweeters时,我会得到:
!twitter1 !twitter2 !twitter3 and so on
$ countTwits告诉我有多少推特用户。然而,我想要做的,例如$ countTwits返回结果7,然后我想将前4个存储在变量中,然后将最后3个存储在另一个变量中,从而将它们分开。所以:
if $countTwits > 4 record first 4 as $tweets1 and last 3 as $tweets2
这可能吗?
答案 0 :(得分:0)
我怀疑你所寻找的是array_chunk()功能:
// to split into two more-o-less equal parts
$just_two_chunks = array_chunk($twit, ceil($countTwits / 2));
// to split into arrays of at least 4 items
$chunks_by_four = array_chunk($twit, 4);
您可以使用list
将任何数组转换为一组变量:
list($tweets1, $tweets2) = $just_two_chunks;
...但老实说我怀疑使用那些比那个数组更容易。
现在进入这个新任务:在块中插入4个项目。一种可能的方式:
$twits_by_four = array_chunk($twit, 4);
foreach ($twits_by_four as $chunk) {
insertRow($chunk);
}