2016-05-11 7 views
0

私のコードを添付しました。$current_statement$next_statementを使用して配列の値を定義しようとしています。 $current_statementは= 7、$next_statementは= 8です。私がしようとしているのは、$current_statement$next_statementの2つの値を使って、配列の7番目と8番目の値を定義することです。整数から配列値を定義するにはどうすればよいですか?

<? 
     $date = array('16-01-14','16-01-28','16-02-14','16-02-28','16-03-14','16-03-28', 
     '16-04-14','16-04-28','16-05-14','16-05-28','16-06-14','16-06-28','16-07-14', 
     '16-07-28','16-08-14','16-08-28','16-09-14','16-09-28','16-10-14','16-10-28', 
     '16-11-14','16-11-28','16-12-14','16-12-28');  


     $currentdate = date('y-m-d'); 


     foreach ($date as $i => $d) { 
     if ($currentdate >= $d && ($i == count($date)-1 || $currentdate < $date[$i+1])) { 
      $current_statement = $i; 
      $next_statement = $i+1; 
     } 

     } 

    ?> 

私は配列から値を選択し$current_statement$next_statementから2つの数値を使用しようとしています。たとえば、$current_statementが= 7の場合、配列から7番目の値を選択し、別の変数として定義します。 $next_statementが= 8の場合、配列から8番目の値を選択し、別の変数として定義します。だから私は両方の変数を簡単にエコーアウトすることができました。

+5

私たちにあなたが – RiggsFolly

+0

は* ... 2をエコー表示したい出力の例を表示します$ current_statementと$ next_statementの両方の整数を使って7番目と8番目の値... *を配列から選択する新しい変数は、この '$ var1 = $ date [$ i];'と '$ var2 = $ date [$ i + 1]; '? –

+0

何をしようとしているのは、 '$ current_statement'の数値と' $ next_statement'の数値を使って配列から2つの値を定義することです。 –

答えて

2

あなたの要件は完全にはっきりしていないので、この回答はちょっとした推測ですが、私は本当にやってはいけません。あなたは、あなたが作成した2つの変数を必要としない、その場合には、この

<?php 
    $date = array('16-01-14','16-01-28','16-02-14','16-02-28','16-03-14', 
        '16-03-28','16-04-14','16-04-28','16-05-14','16-05-28', 
        '16-06-14','16-06-28','16-07-14', '16-07-28','16-08-14', 
        '16-08-28','16-09-14','16-09-28','16-10-14','16-10-28', 
        '16-11-14','16-11-28','16-12-14','16-12-28');  

    $currentdate = date('y-m-d'); 

    foreach ($date as $i => $d) { 
     if ($currentdate >= $d && ($i == count($date)-1 || $currentdate < $date[$i+1])) { 
      echo 'Current statement date = ' . $date[$i]; 
      echo 'Next statement date = ' . $date[$i+1]; 
     } 
    } 
?> 

のようなものを意味するか、あなただけの$i$i+1

+0

ありがとう@ダゴン – RiggsFolly

+0

@ダゴン私はダンプコードをダンプしませんでしたが、「あなたはやめました。あなたのプロフィールを確認したいかもしれません – RiggsFolly

+0

@ダゴンあなたが答えを投稿するなら、私はあなたのことを受け入れるでしょう。それはちょうど解決されたahaとしてマークしたかったのでした。この回答とあなたがコメントに記した回答はどちらも正しいものでした。 –

0

を使用することができますしかし、私はあなたがバインドされた例外のうち、インデックスを防ぐために必要があると思います:

foreach ($date as $i => $d) 
{ 
    if ($id<count($date)-1 && ($currentdate >= $d && ($i == count($date)-1 || $currentdate < $date[$i+1]))) 
    { 
     $current_date = $date[$i]; 
     $next_date  = $date[$i + 1]; 
    } 
} 

$current_statement = false; 
$next_statement  = false; 
foreach ($date as $i => $d) 
{ 
    if ($id<count($date)-1 && ($currentdate >= $d && ($i == count($date)-1 || $currentdate < $date[$i+1]))) 
    { 
     $current_statement = $i; 
     $next_statement  = $i+1; 
    } 
} 
if($current_statement) 
{ 
    $current_date = $date[$current_statement]; 
    $next_date  = $date[$next_statement]; 
} 

そしてまもなく、あなたはドント場合、$ current_statementと$ next_statement変数より多くを必要とします

あなたはこのclausureに防止され、この答え
を忘れ:$ I ==数($日付)-1

関連する問題