PHPにおいてファイルの入出力

ReCycle!でブレイクビーツ化されたドラムループはREX2形式のファイルになります。ワンショット単位でMIDIノートがアサインされるため、サンプラーにREX2を読み込んでMIDIで演奏することで、自由に順番を組み替えて演奏することができます。 #DTM #DTMテクニック
お気持ち表明ってファイルに差し掛かるとディスクの使用率が100%になってメモリにどんどんゴミが溜まって爆発するって無限ループを繰り返してる
XDP-30Rのリモートアプリはフォルダ内のループ選曲できないのが痛いな。あとイコライザとかファイル確認などの機能もない。あと300Rで使えたBluetoothリモコンにも対応してなかったわ。
[info~] bangを送信する、"buffer~"オブジェクトに読み込まれているファイルの情報が出力される。情報が存在しなければ0が出力される。オーディオがオフでも機能する。ループ情報とチューニング情報はAIFFファイルから取得する。
#銀のメモ #.defineは文字列を記号定数に #.include<>はコンパイラの規則に従う .hはヘッダファイル.oはオブジェクトモジュール 配列にポインタは入れられない バブルと選択は基本同じでループごとの交換回数異なる挿入法は要素を増やしつつなんとかするがんばって覚える
#ゼビオ関東フットサル1部 第6節 マルバ×ファイル 前残3:21 ファイル得点! 左CK。キッカー18三木からのループパスを右外で受けた7田辺が切り返しでDFを交わしシュート。これをGK前にいた21柳澤が触りゴールに押し込む! マルバ 1-1 ファイル
ファイルメーカーのスクリプト、ループから抜け出せなくなったー!(泣
そういや、クリアファイル付きポカリを買う為に何回かループしていたら突然ペダルのTカードがレジを通らなくなり、現在も使えないので多分磁気不良かなんかだろうから、手嶋先輩のいる新規デザインカードを出して欲しいなーと思いました(作文)。
#私の最初のパソコンエピソード 500MB、256色の分厚いノートパソコン。色が汚い理由が分からなかった。ファイルを消して動かなくなって FD で Windows3.1 をインストールを無限ループ。もの叩く音を録音して切り貼りしてリズム作ってた。 うわぁルーツしかないなこれ…
BGMや環境音を流す際に、MP3形式の音声ファイルは使わないで下さい。ループ時に空白が生まれます。また音源元がMP3の場合も、始めの空白域を削除してください。
とりあえず昨日テストプレイしてもらって、見つかった不具合は直した。 結局シナリオファイルの進行が止まる原因はよく分からなかったのだが、どうもmusicをループさせるスクリプトがなにか悪さをしているような気がするのでそれは全部消した。
ファイル無くしすぎやろ自分!!!どこにやるんだよ!!!そんなことより、この前のお祭りの時聴いたフジファブリックの曲が無限ループして離れない、、すてき、、
ファイル中の特定の行を読み込むにはlinecacheモジュールのgetline( )メソッドを使う。例)l=linecache.getline("batting02to11.csv", 5) #ファイルの5行目を読み込む。なお、ループなどとは異なり最初は0ではなく1から始まる。

問題

用意された配列の値のうち、1つにプラス1して、すべての値と乗算した場合
どの値にプラス1するのがもっとも大きい結果になるか

0)
numbers = {1, 2, 3}
Returns : 12

1)
numbers = {1, 3, 2, 1, 1, 3}
Returns : 36
※数字は必ずしもユニークではない

2)
numbers = {1000, 999, 998, 997, 996, 995}
Returns : 986074810223904000

答えは非常に大きい数字になりますが、2の62乗を超えません

3)
numbers = {1, 1, 1, 1}
Returns : 36

自分なりの回答

<?
$numbers = array(1,1,1,1);
$target1 = 0;
for ($y = 0; $y < count($numbers); $y++){
  $target2 = 1;
  $numbers[$y] = $numbers[$y] + 1;
  for ($i = 0; $i < count($numbers); $i++) {
      $target2  = $target2 * $numbers[$i];
  }
  $numbers[$y] = $numbers[$y] - 1;
  if($target1 < $target2){
      $target1 = $target2;
  }
}
echo $target1;
?>

これだと2重にループするので配列に1000個値が入ってきたときにとんでもない数ループする
そしてメソッド化していないため、テストするさいに、配列の中身を書き換える必要があるため
ソースを書き換えることになってよろしくない

他の方の回答


<?php
function check($arr) {
    asort($arr);
    $arr[0] += 1;
    return array_reduce($arr, function ($carry, $item)
    {
        $carry *= $item;
        return $carry;
    }, 1);
}

var_dump(check(array(1,2,3)));
?>

私の回答と違い、メソッド化してあるのでテストのさいにもコードを書き換えずテスト化
array_reduceを使用することによって、ループの数を私の回答から比べて半分に減らしている。

まとめ

短いですがまとめると
私の回答はゴリ押しで誰でも思いつくような回答ですが、phpにはarray_reduceやarray_filter等便利な配列用の関数がいろいろあるので
どういう関数があるのか見ておいたほうが、私のような恥ずかしいコードを書かなくて済みますな。

[紹介元] PHPタグが付けられた新着投稿 – Qiita PHPにおいてファイルの入出力

  • コメント

    1. 匿名希望
      2017/07/18(火) 01:41:54

      #銀のメモ
      #.defineは文字列を記号定数に
      #.include<>はコンパイラの規則に従う
      .hはヘッダファイル.oはオブジェクトモジュール
      配列にポインタは入れられない
      バブルと選択は基本同じでループごとの交換回数異なる挿入法は要素を増やしつつなんとかするがんばって覚える

    2. 匿名希望
      2017/07/18(火) 01:41:54

      #ゼビオ関東フットサル1部
      第6節 マルバ×ファイル
      前残3:21 ファイル得点!
      左CK。キッカー18三木からのループパスを右外で受けた7田辺が切り返しでDFを交わしシュート。これをGK前にいた21柳澤が触りゴールに押し込む!
      マルバ 1-1 ファイル

    3. 匿名希望
      2017/07/18(火) 01:41:54

      ReCycle!でブレイクビーツ化されたドラムループはREX2形式のファイルになります。ワンショット単位でMIDIノートがアサインされるため、サンプラーにREX2を読み込んでMIDIで演奏することで、自由に順番を組み替えて演奏することができます。
      #DTM
      #DTMテクニック

    4. 匿名希望
      2017/07/18(火) 01:41:54

      ファイルメーカーのスクリプト、ループから抜け出せなくなったー!(泣

    5. 匿名希望
      2017/07/18(火) 01:41:54

      [info~] bangを送信する、”buffer~”オブジェクトに読み込まれているファイルの情報が出力される。情報が存在しなければ0が出力される。オーディオがオフでも機能する。ループ情報とチューニング情報はAIFFファイルから取得する。

    記事に戻る

関連記事