2016-08-19 4 views
-4

たとえば、私には7つのチャネルと4つのグループがあります。これは、次の方法で配布する必要があります。foreach内の少数の反復の後に最初からループを開始するPHP

Channel 1 - Group 1 
Channel 2 - Group 2 
Channel 3 - Group 3 
Channel 4 - Group 4 
Channel 5 - Group 1 
Channel 6 - Group 2 
Channel 7 - Group 3 

この方法で配布するにはどうすればよいですか?

は、私が今

$groups = //array outputs the following 
Array 
(
    [0] => Array 
     (
      [id] => 10 
      [email] => [email protected] 
     ) 

    [1] => Array 
     (
      [id] => 17 
      [email] => [email protected] 
     ) 

    [2] => Array 
     (
      [id] => 34 
      [email] => [email protected] 
     ) 

    [3] => Array 
     (
      [id] => 62 
      [email] => [email protected] 
     ) 

) 

は私が

foreach ($query as $key => $value) { 
    $usrSql = "UPDATE issues SET user_id = ".$usersAssigned[$key]['id']." WHERE id =".$value['id']; 
// DB updating process 
} 

は4回の反復のために、それが正常に動作しているクエリを持っています、次のようforloop使用、第5回の反復から、私はエラーを取得しています:
未定義オフセット:4
この問題を解決するにはどうすればよいですか?
4回反復した後、最初からループを開始する必要があります。

+4

あなたは今まで何をしていますか分かりますか? –

+1

あなたの質問に –

答えて

0

更新:外部変数を使用して、アクセスされているグループ要素の現在のインデックスを追跡し、グループの終わりに達したときにゼロにリセットする必要があります。

これはあなたが探しているものですか?

$channels = array("Channel 1", "Channel 2", "Channel 3", "Channel 4", "Channel 5", "Channel 6", "Channel 7"); 

$group_id = 0; 
$groups = array(array("id"=>3, "email"=>"email_1"), array("id"=>10, "email"=>"email_2"), array("id"=>6, "email"=>"email_3"), array("id"=>71, "email"=>"email_4")); 

foreach($channels as $channel) 
{ 
    echo $channel." - Group ".$groups[$group_id]["id"]."\n"; // print out the channel and the group id 

    $group_id ++; 

    if($group_id > 0 && $group_id % (count($groups)) == 0) 
     $group_id = 0; 
} 
+0

$グループを更新してください= //配列は、以下の アレイ ( [0] =>アレイ ( [ID] => 10 を出力し、[メール] => [email protected] ) [1] =>配列 ( [ID] => 17 [メール] => [email protected] ) [2] =>配列 ( [ID] => 34 [メール] => [email protected] ) [3] =>配列 ( [ID] => 62 [メール] => [email protected] ) )
マイグループが値をインクリメントするが、配列されていません。私はこの配列から 'id'値を取得する必要があります –

+0

@ JnanaSowmya、私は私の答えを更新しました。お役に立てれば。 – TravellingSalesman

+0

ありがとうございました:)私の問題は解決されました。 –

関連する問題