tqpのプロフィール

@tqp tqp
ありがとう数2
質問数0
回答数4
ベストアンサー数
0
ベストアンサー率
0%
お礼率
0%

  • 登録日2007/08/16
  • 配列生成される限り、ループしたい

    function arrayxml (){ urlで取得したXMLから、配列を取得 return $hairetu; //戻り値は多次元配列 } $data = arrayxml(); $cnt = count($data); do { for ($i=0; $i < $cnt; $i++) { $data = arrayxml($data[$i][0]); } } while (count($data) > 0); //関数によって配列が作られる限り このスクリプトではループはうまくされません。 $data = arrayxml($data[$i][0]);を--->arrayxml($data[$i][0]);にすると $cnt分ループされますが、do~whileのループはなされません。 関数で配列が生成される限り、do~whileループをさせたいのですが正しい方法を教えていただけないでしょうか。 よろしくお願いします。

    • ベストアンサー
    • brosis
    • PHP
    • 回答数2
  • 外部結合のSQLの書き方について

    SQLの書き方について質問です。 マスタにある項目CDはすべて表示。そこにデータ項目を表示させる。マスタにある項目CDがデータにない場合は、表示できない部分以外はNULLで表示させるにはどうしたらよいのでしょうか? 思うようにデータが取得できません。ORACLE8iです。 例えば select * from マスタ where データCD = '0009' の結果が +-------------------------------------+ + データCD | SEQ番号 | 項目CD | 項目名 | +-------------------------------------+ 0009 | 1 | 05000 | 名称1 0009 | 2 | 05100 | 名称2 0009 | 3 | 05200 | 名称3 で、 select * from データ and データ.本支所CD = '999' and データ.部門CD = '99' の結果が +------------------------------------------+ + 本支所CD | 部門CD | 項目CD | 発生額07月 | +------------------------------------------+ 999 | 99 | 05000 | 1,234 999 | 99 | 05100 | 1,235 だった場合、 select SEQ番号, 本支所CD, マスタ.項目CD, マスタ.項目名, 発生額07月 from マスタ,データ where マスタ.データCD = '0009' and マスタ.項目CD = データ.項目CD and データ.本支所CD = '999' and データ.部門CD = '99' を実行すると、 +--------------------------------------------------------+ | SEQ番号 | 本支所CD | 部門CD | 項目CD | 項目名 | 発生額07月 | +--------------------------------------------------------+ | 1 | 999 | 99 |05000 | 名称1 | 1,234 | 2 | 999 | 99 |05100 | 名称2 | 1,235 +--------------------------------------+ と結果が返ってきますが、 +-------------------------------------------------------+ | SEQ番号 | 本支所CD | 部門CD | 項目CD | 項目名 | 発生額07月 | +-------------------------------------------------------+ | 1 | 999 | 99 |05000 | 名称1 | 1,234 | 2 | 999 | 99 |05100 | 名称2 | 1,235 | 3 | 999 | 99 |05200 | 名称3 | NULL +--------------------------------------+ とするためには どういうSQLを作成したらよいのでしょうか? 「where マスタ.データCD(+) = '0009' and マスタ.項目CD = データ.項目CD(+) and データ.本支所CD(+) = '999' and データ.部門CD(+) = '99' 」 にしてもだめでした。 ※「マスタに存在して、データに存在しない項目コードがありますが、 それも発生額07月はNULLでよいので、それ以外の項目をすべて表示したい」のです。 説明不足だとは思いますが、どなたかご教授のほどよろしくお願いいたします。相当行き詰ってます。

  • 正規表現-数字

    VB6で開発しています。 ひとつのテキストボックスがあり(MAXLENGTHが4)、 半角数字or小数点しか入力できないように制御しています。 下記正規表現確認関数で、 00.0~99.9の値のみ認証したいのですが、 (チェック前に Format( XX , '00.0')に変換してます) ○ 3 ○ 3.3 ○ 33 ○ 33.3 × 3.33 × .333 × 333 △ 3.00 → 3.0に変換させる パターンマッチング (\d{1,2}.\d|\d{1,2})ですと 本来×の333がOKとなってしまいます。 正規表現が間違っているのでしょうか? アドバイスお願いします。 関数はこちら Public Function RegExpCheck(ByVal ChkString As String, _ ByVal RegPattern As String) As Boolean '(一部省略) '引数:ChkString 正規表現確認対象文字 ' RegPattern パターン '戻り値:True マッチしている ' :False マッチしていない、あるいは文字・パターンが空白 '(一部省略) Dim reg As New RegExp RegExpCheck = False On Error GoTo RegErr '引数空白チェック・・・空白の場合はFalseを返す '対象文字列 If Trim$(ChkString) = vbNullString Then Exit Function End If 'パターン If Trim$(RegPattern) = vbNullString Then Exit Function End If reg.Pattern = RegPattern If reg.Test(CStr(ChkString)) = True Then RegExpCheck = True End If Exit Function RegErr:

  • 標準偏差の出し方を教えてください

    レポート(アンケート分析)を提出したら、 標準偏差も出すように言われたのですが、 出し方がわからなくて困っています。 以下の場合、エクセルで標準偏差を出すには どうしたらいいでしょうか。教えてください。 アンケート: 30の質問に対して、50人にアンケートを実施。 「1非常にあてはまる 2あてはまる 3どちらでもない 4あまりあてはまらない 5全くあてはまらない」の5件法で答えてもらった。 現段階: エクセルで次の2つの表を作りました。 1.縦軸回答者番号、横軸質問番号でデータを1~5で入力。 2.各質問の回答(1~5)数を集計。 平均値を出した。((C3*1+D3*2+E3*3+F3*4+G3*5)/50) 2.を使って、標準偏差を求める場合、 どういう計算式を出せばいいのでしょうか。