2012-05-31 73 views
0
{ 
    [2012-05-23] => 1 
    [2012-05-24] => 1 
    [2012-05-25] => 1 
    [2012-05-26] => 1 
    [2012-05-27] => 1 
    [2012-05-28] => 11 
    [2012-05-29] => 11 
    [2012-05-30] => 12 
    } 

例如数组的关联指标,这是我的数组,我只是想获得阵列具有值大于10如何获得具有特定值

所以在这种情况下的指标答案一定是听起来像

{ 
    [0] => 2012-05-28 
    [1] => 2012-05-29 
    [2] => 2012-05-30 
    } 
+0

[你有什么尝试?](http://www.whathaveyoutried.com/) –

回答

0

如果$array是你的第一个数组:

$new_array = array(); 
foreach($array as $key => $value) { 
    if($value > 10) { 
     $new_array[] = $key; 
    } 
} 
0
$array=//Your array in original post. 
$newarray=array(); 
foreach ($array as $key=>$val) { 
    if ($key>10) { 
     $newarray[]=$key; 
    } 
}  
0

试试这个(假设在<pre>的数组被称为$dates):

$result = array(); 
foreach($dates as $date => $value) { 
    if($value > 10) $result[] = $date; 
} 

print_r($result); 
2

有人这样!

$new_array = array(); 
foreach ($array as $r => $a) 
{ 
    if ($a>10) 
    $new_array[] = $r; 
} 
+0

这会给你一个值的数组,而不是日期。 – Death

+0

对不起Ctrl + V Ctrl + C错误! 现在很好 – abon999

0
$testData = array ('2012-05-23' => 1, 
        '2012-05-24' => 1, 
        '2012-05-25' => 1, 
        '2012-05-26' => 1, 
        '2012-05-27' => 1, 
        '2012-05-28' => 11, 
        '2012-05-29' => 11, 
        '2012-05-30' => 12, 
        ); 
$testNeedle = 10; 

$result = array_filter($testData, 
         function($arrayEntry) use ($testNeedle) { 
          return $arrayEntry > $testNeedle; 
         } 
); 
$result = array_keys($result); 

var_dump($result); 
0

此代码将做的工作。

$array1 = array(
'2012-05-23' => 1, 
'2012-05-24' => 1, 
'2012-05-25' => 1, 
'2012-05-26' => 1, 
'2012-05-27' => 1, 
'2012-05-28' => 11, 
'2012-05-29' => 11, 
'2012-05-30' => 12 
); 
$result = (array_keys(array_filter($array1, "select"))); 
function select($var) 
{ return($var > 10);  } 

您还可以在空数组中使用array_push的for循环来跳过回调函数。

相关问题