很多站长朋友们都不太清楚php根据字符分组,今天小编就来给大家整理php根据字符分组,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php 读textarea里内容根据自己所设定进行随机分组 2、 PHP按id分组 3、 请教PHP如何分组归类,求代码例子! 4、 thinkphp将所有数据按照相同字段分组查询出来并在模板上显示 5、 如何实现PHP根据数组的值进行分组 6、 thinkphp 如何得到一个按字段内容分组的array php 读textarea里内容根据自己所设定进行随机分组<?
//$new_arr为最终分组数据
$v_arr = array('1','2','3','4','5','6','7','8','9','10'); //假设$v_arr是你的textarea的值,已经转换为数组
$new_arr = array();
$n = 2; //input的值,比如3个一组
$j = ceil(count($v_arr) / $n);
for($i = 0; $i<=$j; $i++)
{
if(count($v_arr) >= $n)
{
$key = array_rand($v_arr,$n);
foreach($key AS $k=>$v)
{
$new_arr[$i][] = $v_arr[$v];
unset($v_arr[$v]);
}
unset($key);
}
}
if(count($v_arr) % $n != 0)
{
$new_arr[] = $v_arr;
}
print_r($new_arr);
?>
你的问题确实有意思,在随机分组上确实很有用,花了点时间按你思路写的,你测试下吧。
写入TXT文件这个部分很简单,就不帮你写代码了,百度下很多。
PHP按id分组<?php
$arr = array(
array('exh_id'=>1,'date'=>20170713,'hot_level'=>'12.00','audience'=>12),
array('exh_id'=>1,'date'=>20170714,'hot_level'=>'1.00','audience'=>1),
array('exh_id'=>1,'date'=>20170715,'hot_level'=>'1.00','audience'=>1),
array('exh_id'=>2,'date'=>20170713,'hot_level'=>'7.00','audience'=>7),
array('exh_id'=>2,'date'=>20170714,'hot_level'=>'0.00','audience'=>7),
);
foreach($arr as $val){
$tmp_1 = array();
$tmp_1['date'] = $val['date'];
$tmp_1['audience'] = $val['audience'];
$tmp_1['hot_level'] = $val['hot_level'];
$result[$val['exh_id']]['exhibitor_id'] = $val['exh_id'];
$result[$val['exh_id']]['detail'][] = $tmp_1;
}
echo json_encode($result);
请采纳
请教PHP如何分组归类,求代码例子!$result = mysql_query("SELECT * FROM table");
while($arr = mysql_fetch_array($result)){
$answer[$arr['a']] .= $arr['b']." ";
}
print_r($answer);
thinkphp将所有数据按照相同字段分组查询出来并在模板上显示M("Table')->group("date")->select();
如果你每一行数据都要显示,就应该用order:
M("Table")->order("date")->select();
如何实现PHP根据数组的值进行分组PHP根据数组的值分组,php array中没有自带这个函数但是很常用
代码:
$_array = array(
array(1,11,'2016-05-18'),
array(2,11,'2016-05-18'),
array(3,22,'2016-05-18'),
array(4,22,'2016-05-18'),
array(5,33,'2016-05-19'),
array(6,33,'2016-05-19'),
array(7,44,'2016-05-19'),
array(8,44,'2016-05-19'),
array(9,55,'2016-05-20'),
array(10,55,'2016-05-20'),
);
var_dump(array_val_chunk($_array));
function array_val_chunk($array){
$result = array();
foreach ($array as $key => $value) {
$result[$value[1].$value[2]][] = $value;
}
$ret = array();
//这里把简直转成了数字的,方便同意处理
foreach ($result as $key => $value) {
array_push($ret, $value);
}
return $ret;
}
运行结果如下:
array(5) {
[0]=>
array(2) {
[0]=>
array(3) {
[0]=>
int(1)
[1]=>
int(11)
[2]=>
string(10) "2016-05-18"
}
[1]=>
array(3) {
[0]=>
int(2)
[1]=>
int(11)
[2]=>
string(10) "2016-05-18"
}
}
[1]=>
array(2) {
[0]=>
array(3) {
[0]=>
int(3)
[1]=>
int(22)
[2]=>
string(10) "2016-05-18"
}
[1]=>
array(3) {
[0]=>
int(4)
[1]=>
int(22)
[2]=>
string(10) "2016-05-18"
}
}
[2]=>
array(2) {
[0]=>
array(3) {
[0]=>
int(5)
[1]=>
int(33)
[2]=>
string(10) "2016-05-19"
}
[1]=>
array(3) {
[0]=>
int(6)
[1]=>
int(33)
[2]=>
string(10) "2016-05-19"
}
}
[3]=>
array(2) {
[0]=>
array(3) {
[0]=>
int(7)
[1]=>
int(44)
[2]=>
string(10) "2016-05-19"
}
[1]=>
array(3) {
[0]=>
int(8)
[1]=>
int(44)
[2]=>
string(10) "2016-05-19"
}
}
[4]=>
array(2) {
[0]=>
array(3) {
[0]=>
int(9)
[1]=>
int(55)
[2]=>
string(10) "2016-05-20"
}
[1]=>
array(3) {
[0]=>
int(10)
[1]=>
int(55)
[2]=>
string(10) "2016-05-20"
}
}
}
thinkphp 如何得到一个按字段内容分组的array查询就可以了,比如你的数据库是user
实例化对象
$model=D('User');
$data=$model->field('你要获取的字段')->group('你的字段')->select();
还可以添加where条件,这个东西百度一下啥都有了
关于php根据字符分组的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php根据字符分组 php字符串数组函数的详细内容...