我有一个大小不一的数组,可以是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"
但是我无法弄明白,我会修改我的建议,看看能不能弄清楚。
答案 0 :(得分:0)
基本上跟踪$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,