将数组的第 100 个元素转换为逗号分隔的字符串


convert every 100th element of an array into comma separated string

我有一个大小不同的数组,可以是 1 到 200000 之间的任何位置。

我想遍历这个数组,然后将值保存到逗号分隔的字符串中,如果大小大于 100,则将前 100 保存到字符串中,''执行我的操作''从数组中的下一个值返回下一个 100

继续
$users = $this->_db->get('search_results', array('search_token', '=' , $search_token) );
$results = $users-> results();
$unique = $users->count();
foreach($results as $result){
  print_r($result->id); //print each id.
}

这是我试图进入字符串的结果中的 id 值,我现在所做的只是打印。

我认为应该是这样的

$string = "0,1,2,3,5,5.....99";
dosomething($string);

然后循环使用"100,101,102,103,104......145"更新字符串

但是我想不通,我会修改我的建议,看看我能不能弄清楚。

基本上跟踪

一个$counter并循环遍历数组,在此过程中将数组项连接成一个字符串。当你到达第 100 个元素时,请进行操作(在示例中,我只会为每个第 10 个元素添加一个逗号,但想法是相同的)。

$array = array('a','b','c','d','e','f','g','h','i','j','k','l','n','m','o','p','q','r','s','t');
$eleNum = 10; // This is 10 for the sake of example, it can be changed to 100
$counter = 0; // Our counter
$string = ""; // The comma separated string
foreach( $array as $item ) { // For every item in array
    $string .= $item;
    $counter++;
    if( $counter % $eleNum == 0 ) { // If it's out 10th (100th), add comma
        $string .= ",";
        $counter = 0;
    }
}
echo $string;

将给出输出:

abcdefghij,klnmopqrst,