2012-05-06 15 views
1
$cust = rand(50,100); 
$minutes = rand(200,2500); 
$minutesarr = array(); 
function minutesTable() 
{ 
     global $cust,$i,$minutes,$minutesarr; 
     for ($i = 0; $i <= $cust; $i++) 
     { 
      array_push($minutesarr,$minutes); 

     }   
} 

私はさらに$minutesarr[$i] = $minutes;を使用することに頼っていましたが、それはどちらかというと不思議なほど神秘的でした。forループでArray_push()が機能しない

編集:おっとスレッド内に$ cust変数を追加するのを忘れていました。混乱を避けるためにそこに追加してみましょう。

+6

これが実行され、 '$のcust'の値は何ですか?ループは実行されていますか? – Wiseguy

+0

あなたのループはループしていません:) –

答えて

2

次のいずれかが起こっている必要があります。

  1. を機能
  2. $custを実行されることはありませんが
  3. $custを宣言されることはありませんので、上記の問題を解決/確認1未満

ですあなたはすてきでなければなりません。

また、$minutes変数にはすべてのループに異なる数値を含めることを意図していますが、現在のコードでは使用できません。新しいループ番号を取得するには、ループごとに関数を再度実行する必要があります。


あなたの現在のコードに拡大コメント

に答えるために:

$cust = rand(50,100); 
$minutesarr = array(); 
function minutesTable() 
{ 
     global $cust, $minutesarr; 

     for ($i = 0; $i <= $cust; $i++) 
     { 
      $minutes = rand(200,2500); 
      array_push($minutesarr, $minutes); 
     } 
} 

// RUN the function :-P 
minutesTable(); 
+0

そうですね、どうしたらいいのですか? – mwong

+0

+1、すべての呼び出しで異なる値を持つようにループを実行するたびに$分を計算するだけです。 – Saturnix

+1

* facepalm *もちろん...私はこの機能を実行するのを忘れていました。どうもありがとうございました! – mwong

2

$cust値が宣言されていないと確認したい場合は、あなたのループでも、ループ

次回を開始する前に...

宣言

$cust = some number 

を開始されていませんループが実行されている場合は、その内部にログメッセージ(またはデバッグ用にプログラミング言語で許可されているもの)を置いて、コードを実行して呼び出しがあったかどうかを確認します。

+0

ええ、サンプルコードに$ custを入れるのを忘れました。私の悪い。私は自分のコードでオリジナルを持っていた。 – mwong

+0

ああ、私はあなたがコードを更新して参照してください。だから、ループが開始されるべきでない唯一の理由は、あなたがminutesTable()関数を実行していないということです(Codemonkeyで述べたように)。 – Saturnix

関連する問題