2012-05-31 66 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循環來跳過回調函數。

相關問題