• ベストアンサー

$dateA = substr($filelist[$_][0], 1

$dateA = substr($filelist[$_][0], 11, 8) * "1.6"; 現状、CGIに上記の処理をしてdataAで取得した数値に1.6の数字を掛け算しています。 この掛け算を取得した数値が10以下の場合は適用しない為にイフブンを設定したいのですが、 その記述方法が分かりません。詳しい方おられましたらお教えいただけませんでしょうか。 よろしくお願いいたします。

  • CGI
  • 回答数2
  • ありがとう数8

質問者が選んだベストアンサー

  • ベストアンサー
noname#111181
noname#111181
回答No.2

ANo.1で回答した者です。お礼メッセージをありがとうございます。 スクリプトを下記のように訂正します。お試しください。 ------------------------- $s = substr($filelist[$_][0], 11, 8); if ($s > 10.0) { $dateA = $s * 1.6; } else { $dateA = $s * 1.0; }

falcon_jun
質問者

お礼

返信ありがとうございます。。 i80286さんのおかげで望みどおりの出力が可能になりました。 この度は大変お世話になりました。 心からお礼申し上げます。 またなにかありましたらご指導のほど、よろしくお願いいたします。。

その他の回答 (1)

noname#111181
noname#111181
回答No.1

やや冗長ですが、こんな形でしょうか。 ---------------- if (substr($filelist[$_][0], 11, 8) * 1.6 > 10.0) { $dateA = substr($filelist[$_][0], 11, 8) * 1.6; }

falcon_jun
質問者

お礼

回答ありがとうございます。。 i80286さんの記述を使わせていただきましたが、出力される内容が正しい数字になりませんでした。 $dateC = substr($filelist[$_][0], 11, 8) * "1.6";の場合 10 ⇒ 16 2 ⇒ 3.2 40 ⇒ 64 8 ⇒ 12.8 4 ⇒ 6.4 1 ⇒ 1.6 if (substr($filelist[$_][0], 11, 8) * 1.6 > 10.0) {$dateA = substr($filelist[$_][0], 11, 8) * 1.6;}の場合 10 ⇒ 16 2 ⇒ 16 40 ⇒ 64 8 ⇒ 12.8 4 ⇒ 12.8 1 ⇒ 12.8 理想は以下の数値です。 10 ⇒ 16 2 ⇒ 2 40 ⇒ 64 8 ⇒ 8 4 ⇒ 4 1 ⇒ 1 10以上の数字に対しては問題がありませんでしたので、修正箇所等あれば引き続き教えていただけると嬉しいです。お手数おかけしますが、よろしくお願いいたします。

関連するQ&A

  • substrで数値を抽出してのマッチングについて

    $aという変数に100~9999のうち、任意の数値が1つ入るとします。 この$aの頭の3桁が100かそれ以下でしたら if(substr($a,0,3) <= 100){各処理;} で可能なのですが、例えば101~120、120~500、500~700、 などのように範囲でマッチングを行いたいのですが どうもうまくいきません。 if(substr($a,0,3) =~ /[101-120]/)ではないですよね…。 この場合どのように判定させれば宜しいのでしょうか? お詳しい方どうぞご教授お願い致します。

    • ベストアンサー
    • CGI
  • jqueryのwhenを使って、複数のサーバーから

    jqueryのwhenを使って、複数のサーバーからjsonを取得するプログラムを作っています。 ソースは以下のような感じです。 $.when( getJsonFromA(), //$.ajaxをreturnしてるだけ。 getJsonFromB(), getJsonFromC() ).done(function (dataA, dataB, dataC)){ /*取得後の処理*/ } 現状はこれでよいのですが、今後、取得対象が増える(DやEが増える)度にソースをいじりたくないと考えてます。 コンフィグなどからURLを読み込んで、その宛先からjsonを取得する。といった、形を whenで記述できますか? おおざっぱな質問で申し訳ないですが、よろしくお願いします。

  • SUZUKA substr関数に関する質問

    SUZUKAを使ってイベントまでの日数をカウントダウンするコンテンツを作っています actionscriptは以下のようになっていて、event_dayから各位の数字を抜き出して、フレームを進めるというものですがsubstr関数が機能しません。Number関数は機能します。event_dayをダイナミックテキストで出力させたらうまくいきました。デジタルで表示させたいのでわれか分かる方がいましたら教えてください。 this.onEnterFrame = function() { //Date オブジェクトを生成 date_obj=new Date(); //今日の年月日を取得 today_year=date_obj.getFullYear(); today_month=date_obj.getMonth(); today_date=date_obj.getDate(); //イベントまでの協定世界時をミリ秒で取得 eventUTC=Date.UTC(2008,11-1,29); //現在までの協定世界時をミリ秒で取得 todayUTC=Date.UTC(today_year,today_month,today_date); //イベントまでの差分を日数に直す event_day=(eventUTC-todayUTC)/1000/60/60/24; //各の抽出 num1=123; num=event_day.substr(0,1); this.hi3.gotoAndStop(Number(event_day.substr(0,1))); this.hi2.gotoAndStop(Number(event_day.substr(1,1))+1); this.hi1.gotoAndStop(Number(event_day.substring(1,2))+1); };

  • substrで抜き取った全角文字列を正常に表示

    $moji1 = 'あいうえおかきくけこさしすせそ'; $moji2 = 'あいうえお...かきくけこ'; $moji3 = 'なにぬねの'; 上記のような3つの文字列を格納した変数があります。 それぞれの変数を使いリンクを貼りたいのですが、20バイトを超えた変数に対しては、substrで20バイトまでを表示し、リンクするようにします。 以下は$moji1をリンクにするソースです。 $byte = strlen($moji1); if ($byte > 20) {  $moji1 = substr($moji1,0,20); } echo '<a href="#">'.$moji1.'</a>'; moji2、moji3も全く同じ処理をします。 結果はmoji1、moji3は上手くいくのですが、moji2に関しては <a href="#">あいうえお...かき/a> このように</a>の'<'が消えてしまいます。 恐らく、20バイト目が全角で、表示が上手くいっていないのだと思うのですが、対処法がわかりません。 今は全角に変換してごまかしていますが、半角のものはなるべく半角で表示したいのです。 moji2を正常に表示させるには、どのような書き方をすれば良いのでしょうか。 アドバイスお願いします。

    • ベストアンサー
    • PHP
  • ファイルを読み込んで特定の箇所のデータを表示

    お世話になります。 掲示板のログファイルから、特定の箇所のデータを取得して表示させたいと思っています。 log.cgi(パーミッション666) ログデータの中身 3<><><> 3<><><><><><><> 2<><><><><><><> 1<><><><><><><> 上記のような感じになっており、「<>」と「<>」の間にいろいろなデータが入っています。 1行目の最初の数字が、これまで投稿された記事総数になっており、この数字を取得したいと思っています。 log.cgiを読み込んで、この記事総数を「$allnumber」と記述すれば、その箇所に表示させるにはどのようにすれば良いでしょうか。 ご教授をお願い致します。

    • ベストアンサー
    • Perl
  • エクセルの使い方

    エクセルの使い方を教えてください。 大変初歩的なことですが、お願いいたします。 エクセルの表計算で、少数以下の掛け算で合計の数字が少数点以下まで表示されます。 この数値を四捨五入にして、整数にし、さらにこの数値に数値をかけます。 ただ、この四捨五入した数値を整数とは認識せず、少数以下の数値で計算するため、求めたい数値になりません。 この四捨五入した数値を整数と認識するための方法をおしえてください。

  • これらの条件を満たすプロバイダは、、、(HP開設)

    HPを開設しようと思います。 以下の条件を満たすプロバイダは無いでしょうか? (色々と検索してみたのですが、見つからず、、、) ドメインを取得しようと考えていません。 ・アドレスに~(チルダ)が含まれないもの。 www.○○○.co.jp/~○○/index.html(このようなアドレスになるところばかりですが、チルダの入力の仕方がわからない方もおられると思うので、なるべく避けたいです。 ・自作CGI使用OKなところ。 ・上記と同時に既存のCGIも持っているところ。(HTMLに記述すれば済むもの) ・なるべく大手がいいです。 京都市在住です。 どうぞ宜しくお願いいたします。

  • コンストラクタにパスを記述する方法を教えて下さい

    以下に示したプログラムのコンストラクタの引数の部分(File objFile)にディレクトリパスである C:\Users\NEC-PCuser\ArtNameを記述したいのですがエラーになってしまいます。どのように記述すれば引数にディレクトリパスを指定することができるかご教授お願いいたします。 以下がプログラムになります。 /** * ID3Tag取得プログラム:FileListクラス * 指定ディレクトリ以下のファイル一覧を取得するクラス */ import java.io.File; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.Iterator; public class FileList { private ArrayList objMp3FileList = null; private ArrayList objDirList = null; private File objFile_; public FileList(File objFile) { /*public FileList("C:\\Users\\NEC-PCuser\\ArtName") */ objFile_ = objFile; /*↑↑のように記述するとエラーになります。↑↑*/ } public long getFileInfo() throws UnsupportedEncodingException { if(objFile_ == null) { System.out.print("Argment is null.\n"); return -1; // error } String strCurrentPath = objFile_.toString(); if(!objFile_.isDirectory()) { System.out.print("This Path is not Directry. :" + strCurrentPath + "\n"); return -1; } objMp3FileList = new ArrayList(); objDirList = new ArrayList(); for(int i = 0; objFile_.listFiles().length > i; i++) { if(objFile_.listFiles()[i].isDirectory()) { FileList objFileList = new FileList(objFile_.listFiles()[i]); objFileList.getFileInfo(); objDirList.add(objFileList); } else if(objFile_.listFiles()[i].isFile()) { MP3File objMP3File = new MP3File(objFile_.listFiles()[i]); objMP3File.getMP3Info(); objMp3FileList.add(objMP3File); } } return 0; } public Iterator getMP3FileIte() { return objMp3FileList.iterator(); } public Iterator getDirIte() { return objDirList.iterator(); } public String getDir() { return objFile_.getPath(); } }

    • ベストアンサー
    • Java
  • 不特定の数値の羅列から重要な数値だけを抽出したい

    例えば下記の様な1~50までの数値があったとします。 1,5,9,10,10,10,10,15,20,21,22,23,25,31,32,39,50 この中から主要な数値を検出してそれらに順位を付けたいと思います。 順位  該当数値  理由 1位:  10       4個の同一数字がある為 2位:  20~23    連続して並んでいる為 3位:  31,32     連続して並んでいるが上の例に比べて連続数が少ない為 1.実際に扱う数値は約700~1500程度ですが、制限はありません。 2.数値の量(配列数)は1000個程度です。 3.プログラム(C#)で結果を算出します。 4.順位の境界は明確ではありませんが、実際の値を見ながら決めたいと思います。 5.与えられる数値は時間と共に変動し、新しい数値が入るとその分古い数値が排除されます。 6.新しい数値は不定ですが、その都度ソート処理をして昇順に並び替えます。 7.上記例で、同一順位が複数あった場合は例えば1位が3個などの答えとします。 (該当する順位が0の場合も有りです) 上記を実現する為の考え方や手順などを教えて頂けないでしょうか。

  • PHPとcgiの違い

    PHPとcgiの違い cgiで表示をする際に以下のような記述をしますが、 print"Content-type: text/plain; charset=utf-8\n\n"; print"こんにちは"; phpでは以下のような記述になるようです。 <?php print"こんにちは"; ?> cgiとPHPはほとんど同じと考えているのですが、 拡張子以外に、上記のように文法でも違いがあると考えていいのでしょうか? また、違いを注意すべき点はどういうところでしょうか?

    • ベストアンサー
    • CGI