2017-06-10 17 views
0

を返さドメイン。しかし、それをそのまま残すと、私はただ一つの価値しか得られません。私は戻って$ドメインのforeachをやってみたが、私はエラーで終わった。の制御は、私はクラスで以下の機能を持っているコンテンツ

私の戻り値を受け取り、それを別の関数に渡したいので、この関数を1つのジョブに残すことができます。その後、

+1

returnは関数をただちに終了するので、ループは最初の反復の途中で終了します。コンテンツを配列変数に追加して収集し、その変数の内容をループの後に返します。 – CBroe

+0

foreachループは最初のイテレーションのみを行います。そのループの戻り値はその最初の値を返し、ループから抜け出すからです。 – Drew

+0

どのように出力を見たいですか? – RiggsFolly

答えて

0

returnは、機能とリターンを終了値。 1つの解決策は、すべてのドメインを配列に集めてから返すことです。

public function getDomains($RESELLER) 
{ 
    $data['object'] = 'domain'; 
    $data['action'] = 'read'; 
    $data['territory'] = $RESELLER; 
    $data['format'] = 'json'; 
    $retval = array(); # Create the array 
    if ($response = $this->request($data)) { 
     $obj = json_decode($response, true); 
     foreach ($obj as $file) { 
      $retval[] = $file['domain']; # Add values to it 
     } 
    } 
    return $retval; # Return it 
} 
+0

OP probが戻り値セットの '$ data'部分を要求しています –

+0

これは' echo $ Domains 'とうまくいっていません。
";'今はそれです – RiggsFolly

1

そのヒット戻るので、なぜあなたは、単一の行を取得し、関数から返され、

ストア、アレイ内の結果と返す:

public function getDomains($RESELLER) 
{ 
     $data['object'] = 'domain'; 
     $data['action'] = 'read'; 
     $data['territory'] = $RESELLER; 
     $data['format'] = 'json'; 
     $data['domain'] = array(); 
     if ($response = $this->request($data)) { 
      $obj = json_decode($response, true); 
      foreach ($obj as $file) { 
       $data['domain'][] = $file['domain']; 
      } 
     } 
    } 
    return $data; 
} 
+0

これは 'echo $ Domains。 'とうまくいっていません。
"; '今はそれです – RiggsFolly

+0

@RiggsFolly明らかに悪い更新ではありません。 –

関連する問題