2011-12-09 9 views
0

以下の配列を仮定すると、変数$target_dateが配列の最初の要素と等しいかどうかをテストするにはどうすればよいですか?これは私が探しています結果である:ここではPHPが日付が配列の最初の要素であるかどうかをテストする

$target_date = [Nov 18, 2011] return yes; 
$target_date = [Nov 22, 2011] return no; 
$target_date = [Nov 29, 2011] return no; 

配列は次のとおりです。助けを

Array 
(
[Nov 18, 2011] => Array 
    (
     [C] => 100 
     [I] => 100 
     [M] => 100 
    ) 
[Nov 22, 2011] => Array 
    (
     [C] => 200 
     [I] => 200 
    ) 
[Nov 29, 2011] => Array 
    (
     [C] => 300 
     [I] => -300 
    ) 
) 

感謝。

答えて

3

これは配列の最初の要素ではありません。のキーです。したがって:

foreach ($array as $key => $values) { 
    if ($key == $target_date) { 
     /* Yes! */ 
    } else { 
     /* No! */ 
    } 
} 

あなたはループせずに直接最初のキーを見たい場合は:

current(array_keys($array)) == $target_date 
+1

さらに良い: 'キー($配列)== $のtarget_date'。技術的には、これは配列のイテレータの現在の位置に依存しますが、 'foreach'を使わないでループすることはそれほど重要ではないほどまれです。 – Jon

+0

@ジョン私は単に「免責事項」の代わりに「配列ポインタを変更しない限り」と言いますが、全体的には合意しました。 :) – deceze

関連する問題