ARRAYAVG  
説明

任意の配列内にある値の平均を計算します。

 
戻り値

数値。array パラメータ値が空の配列の場合はゼロを返します。

 
カテゴリ

配列関数、算術関数

 
関数のシンタックス
ArrayAvg(array)
 
関連項目

ArraySum、『ColdFusion MX 開発ガイド』の第5章の「配列と構造体の使用」 の「基本的な配列テクニック」

 
パラメータ

 
使用方法

次の例では、フォームのアクションページで使用可能な ColdFusion のビルトイン変数 Form.fieldNames を使用します。この変数には、フォーム上のフィールドの名前のカンマ区切りリストが含まれます。

 
<!--- この例は、ArrayAvg の使用方法を示しています。 --->
<!-- 次のコード行は、画面上にダイナミックに生成される
フォームフィールドをモニタします。Fieldnames 変数を ListLen 関数と共に使用して、
フォーム上のフィールドの数を決めます。 --->
<cfset FormElem = 2>
   <cfif Isdefined("Form.Submit")>
      <cfif Form.Submit is "More">
         <cfset FormElem = ListLen(Form.Fieldnames)>
      </cfif>
   </cfif>

<html>
<head>
<title>ArrayAvg の例</title>
</head>
<body>
<h3>ArrayAvg の例</h3>
<p> この例では、ArrayAvg を使用して、配列に入力した数値の平均を求めます。<br>
数値を 3 つ以上入力するには、<b>[more]</b> ボタンを押します。
</p>
<form action = "arrayavg.cfm">
<!--- 次のコードは、最初に 2 つのフィールドを作成します。[more] ボタンが押されると、フィールドを追加し
ます。FormElem は、このコードの先頭で 2 に初期化され、フォームに 2 つのフィールドが含まれることを示
します。 ----->
<input type = "submit" name = "submit" value = "more">
<table cellspacing = "2" cellpadding = "2" border = "0">
<cfloop index = "LoopItem" from = "1" to = "#FormElem#">
   <tr>
      <cfoutput>
        <th align = "left">Number #LoopItem#</th>
        <td><input type = "text" name = "number#LoopItem#"></td>
      </cfoutput>
   </tr>
</cfloop>
</table>
<input type = "submit" name = "submit" value = "平均を取得">
</form>

<!--- 配列を作成 --->
<cfif IsDefined("FORM.submit")>
   <cfset myNumberArray = ArrayNew(1)>
   <cfset Count = 1>
   <cfloop index = "ListItem" list = "#Form.Fieldnames#">
       <cfif Left(ListItem,3) is "Num">
         <cfset myNumberArray[Count] = Val("number#Count#")>
         <cfset count = IncrementValue(Count)>
      </cfif> 
   </cfloop>
      
   <cfif Form.Submit is "get the average">   
      <!--- ArrayAvg を使用して、2 つの値の平均を求める --->
      <p>入力した数値の平均は、
      <cfoutput>#ArrayAvg(myNumberArray)# です。</cfoutput>
   <cfelse>
      <cfoutput>もう一度行ってください。少なくとも 2 つの数値を入力する必要があります。
      </cfoutput>
   </cfif>   
</cfif>   
</body>
</html> 
ARRAY  
配列の名前です。