2012-11-15 41 views
0

排序我得到这个数组:阵列与条件

Array 
(
    [0] => Array 
     (
      [MONTH] => April 
      [logs-count] => 14 
      [log_type] => 0 
     ) 

    [1] => Array 
     (
      [MONTH] => August 
      [logs-count] => 942 
      [log_type] => 0 
     ) 

    [2] => Array 
     (
      [MONTH] => July 
      [logs-count] => 132 
      [log_type] => 0 
     ) 

    [3] => Array 
     (
      [MONTH] => June 
      [logs-count] => 114 
      [log_type] => 0 
     ) 

    [4] => Array 
     (
      [MONTH] => March 
      [logs-count] => 424 
      [log_type] => 0 
     ) 

    [5] => Array 
     (
      [MONTH] => May 
      [logs-count] => 79 
      [log_type] => 0 
     ) 

    [6] => Array 
     (
      [MONTH] => November 
      [logs-count] => 269 
      [log_type] => 0 
     ) 

    [7] => Array 
     (
      [MONTH] => October 
      [logs-count] => 4447 
      [log_type] => 0 
     ) 

    [8] => Array 
     (
      [MONTH] => October 
      [logs-count] => 3 
      [log_type] => 1 
     ) 


    [9] => Array 
     (
      [MONTH] => September 
      [logs-count] => 1003 
      [log_type] => 0 
     ) 

) 

我想把这个值2个阵列,其中:每个月if log_type = 0,去1个阵列和if log_type = 1,去2阵列,但是,如果有日志从F(前十一月,他的log_type是0到1个阵列,但到第二次去0)

所以最终它应该是这样的,例如上面:

1阵列

Array 
(
    [0] => 14 
    [1] => 942 
    [2] => 132 
    [3] => 114 
    [4] => 424 
    [5] => 79 
    [6] => 272 
    [7] => 4447 
    [8] => 1003 
) 

2阵列

Array 
(
    [0] => 0 
    [1] => 0 
    [2] => 0 
    [3] => 0 
    [4] => 0 
    [5] => 0 
    [6] => 0 
    [7] => 3 
    [8] => 0 
) 
+0

这真的很难理解你想要做什么。你能有更多的细节吗? – Jean

+0

我明白了这个问题,直到:“..但是如果有从f的日志(去年11月和他的log_type是0去1阵列,但到第二去0)” – billyonecan

+0

@比利同样在这里 – Jean

回答

0

你应该使用foreach循环和一些conditionnal陈述你的日志条目进行排序:

$array1 = array(); 
$array2 = array(); 

foreach ($input_array as $entry) { 
    if ($entry['MONTH']=='March' && $entry['log_type']==1) { 
    $array1[] = $entry['logs-count']; 
    } else if // Etc. 
} 

根据自己的口味调整条件语句。

1
$arr0 = []; 
$arr1 = []; 

foreach ($arr as $a) { 

    switch ($a['log_type']) { 

     case 0: 
      $arr0[] = $a['logs-count']; 
      break; 
     case 1: 
      $arr1[] = $a['logs-count']; 
      break; 
    } 

} 

这将做你的问题的可理解的部分。

0

尝试:

$arr = array(array('MONTH' => 'April', 'logs-count' => 14,'log_type' => 0), 
array(...), 
... 
    ); //your array 
$arr1 = $arr2 = array(); 
foreach($arr as $v) { 
if($v['log_type'] === 0) { 
    $arr1[] = $v['logs-count']; 
    $arr2[] = 0; 
} 
else if($v['log_type'] === 1) 
    $arr2[] = $v['logs-count']; 

}