• ベストアンサー

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

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

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

  • ベストアンサー
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