Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 按数组值分组_Php_Post_Group By_Grouping - Fatal编程技术网

Php 按数组值分组

Php 按数组值分组,php,post,group-by,grouping,Php,Post,Group By,Grouping,我正在使用以下代码: $permissions = array("canview", "canpostthreads", "canpostreplies", "canpostpolls", "all"); foreach($permissions as $permission) { for ($i = 1; $i <= 5; $i++) { $mode = $_POST['permission'][$i][$permission]; if($mode == 1)

我正在使用以下代码:

$permissions = array("canview", "canpostthreads", "canpostreplies", "canpostpolls", "all");
foreach($permissions as $permission) {
  for ($i = 1; $i <= 5; $i++) {
    $mode = $_POST['permission'][$i][$permission];
    if($mode == 1) 
      echo "{$permission} = {$i}:::";
  }
}
我不希望输出如下所示:

而不是
canview=1:::canview=5:

canview = 1,5
例如,如果我有:

canpostpolls = 1:::canpostpolls = 2:::canpostpolls = 3
它将是:

canpostpolls = 1,2,3:::canview = 1,5

希望你们能理解。这是我自己的想法,您可以自由与我分享您的想法,这些数据将导出到mysql表。

您需要进一步过滤数据。。。也许是这样的:

$permissions = array("canview", "canpostthreads", "canpostreplies", "canpostpolls", "all");
$filtered_perms = array();
foreach($permissions as $permission) {
  for ($i = 1; $i <= 5; $i++) {
    $mode = $_POST['permission'][$i][$permission];
    if($mode == 1) {
       if(!is_array($filtered_perms[$permission])) {
         $filtered_perms[$permission] = array();
       }
       $filtered_perms[$permission][] = $i;
  }
}
希望有帮助

$permissions=array(“canview”、“canpostthreads”、“canpostreplies”、“canpostpolls”、“all”);
$permissions = array("canview", "canpostthreads", "canpostreplies", "canpostpolls", "all");
$userPermissions = array();
foreach($permissions as $permission) {
  for ($i = 1; $i <= 5; $i++) {
    $mode = $_POST['permission'][$i][$permission];
    if($mode == 1) 
      $userPermissions[$permission][] = $i;
  }
}
foreach($userPermissions as $permission => $values) {
  echo "{$permission} = " . implode(',', $values) . ":::";
}
$userPermissions=array(); foreach($permissions作为$permission){ 对于($i=1;$i$值){ echo“{$permission}=”.introde(',',$values)。:”; }
您可以执行类似的操作—基本上,在输出值之前组合这些值

$permissions = array("canview", "canpostthreads", "canpostreplies", "canpostpolls", "all");
foreach($permissions as $permission) {
  $vals = array();
  for ($i = 1; $i <= 5; $i++) {
    $mode = $_POST['permission'][$i][$permission];
    if($mode == 1) 
      $vals[] = $i;
  }
  if(count($vals))
    echo $permission . ' == ' . implode(',', $vals);
}
$permissions=array(“canview”、“canpostthreads”、“canpostreplies”、“canpostpolls”、“all”);
foreach($permissions作为$permission){
$vals=array();
对于($i=1;$i
$permissions=array(“canview”、“canpostthreads”、“canpostreplies”、“canpostpolls”、“all”);
$setpermissions=array();
foreach($permissions作为$permission){
对于($i=1;$i$sp){
$plist[]=“$name=”。内爆(',',$sp);
}
回声内爆(':',$plist);

如果需要从末尾删除
::”
,而不是
echo
,可以将所有内容保存到字符串和
rtrim(“:”,$string)
$permissions = array("canview", "canpostthreads", "canpostreplies", "canpostpolls", "all");
$userPermissions = array();
foreach($permissions as $permission) {
  for ($i = 1; $i <= 5; $i++) {
    $mode = $_POST['permission'][$i][$permission];
    if($mode == 1) 
      $userPermissions[$permission][] = $i;
  }
}
foreach($userPermissions as $permission => $values) {
  echo "{$permission} = " . implode(',', $values) . ":::";
}
$permissions = array("canview", "canpostthreads", "canpostreplies", "canpostpolls", "all");
foreach($permissions as $permission) {
  $vals = array();
  for ($i = 1; $i <= 5; $i++) {
    $mode = $_POST['permission'][$i][$permission];
    if($mode == 1) 
      $vals[] = $i;
  }
  if(count($vals))
    echo $permission . ' == ' . implode(',', $vals);
}
$permissions = array("canview", "canpostthreads", "canpostreplies", "canpostpolls", "all");
$setpermissions = array();
foreach($permissions as $permission) {
  for ($i = 1; $i <= 5; $i++) {
    $mode = $_POST['permission'][$i][$permission];
    if($mode == 1) {
      if (!isset($setpermissions[$permission])) {
         $setpermissions[$permission] = array();
      }
      $setpermissions[$permission][] = $i;
    }
  }
}
$plist = array();
foreach ($setpermissions as $name => $sp) {
   $plist[] = "$name = " . implode(',', $sp);
}
echo implode(':::', $plist);