のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,894人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

    元スレ【PHP】下らねぇ質問はID出して書き込みやがれ 83

    php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    151 : nobodyさん - 2009/04/09(木) 16:37:45 ID:??? (+91,+29,-15)
    既にあるものをなんで公開しようと思うの?どうして?死ぬの?
    152 : nobodyさん - 2009/04/09(木) 17:05:12 ID:??? (+70,+29,-3)
    >>151
    それをミラーサイト全ての管理人に言ってくださいませんか
    153 : nobodyさん - 2009/04/09(木) 19:50:40 ID:??? (+6,-29,-61)
    >>149
    SEO対策なのかな?
    PHPの公式マニュアルよりも、検索結果で上位に来るミラーサイトが多いですよね

    自分の場合は、PHPの公式マニュアルをブラウザのお気に入りに入れてます。
    http://jp.php.net/manual/ja/

    google検索でヒットした結果を、改めてPHPの公式マニュアルで確認すればOK
    154 : nobodyさん - 2009/04/09(木) 19:57:07 ID:??? (+68,+29,-3)
    >>150は初心者で自分も調べ方知らないだけだろ
    156 : nobodyさん - 2009/04/09(木) 23:32:12 ID:??? (+89,+29,-41)
    青い帯の部分…
    えっとね。君にはまだphp早い。
    まずはhttp://www.w3.org/から始めよう。
    ここを理解したらhttp://www.apache.org/
    いって最後にhttp://www.php.net/。
    その青い帯作ってる糞マイクロソフトにも言っておいて。http://www.w3.org/を50万回読めと。
    157 : nobodyさん - 2009/04/09(木) 23:40:47 ID:??? (+50,+29,+1)
    バカのくせにえらそうに
    158 : nobodyさん - 2009/04/10(金) 00:12:42 ID:??? (+69,+29,-27)
    >>156
    たぶん君も知識が足りないと思うんだがfxのタイトルバーの色が何色か見てごらん
    あとoperaもな
    大丈夫^^?
    159 : nobodyさん - 2009/04/10(金) 00:18:26 ID:??? (+56,+23,-8)
    今時WebKitじゃないブラウザーとか・・・・ゴミいか。
    角丸つくるのにいまだに透過ジフ?w
    160 : nobodyさん - 2009/04/10(金) 00:22:27 ID:??? (-1,-29,-20)
    headerでjavascriptのコード埋め込めば任意のタイトルにできるんじゃない?
    161 : nobodyさん - 2009/04/10(金) 00:27:38 ID:??? (+9,-26,+0)
    >>159
    それはないよ
    WebKitはJavaScript周りがだめだめ
    163 : nobodyさん - 2009/04/10(金) 00:29:13 ID:??? (-2,-30,-17)
    タイトルをHTTP Headerでどうにかするのは無理
    <title>好きなタイトル</title>を出力するしかない
    164 : nobodyさん - 2009/04/10(金) 00:31:59 ID:??? (-19,-29,-2)
    >>162
    renameという標準関数がある
    166 : nobodyさん - 2009/04/10(金) 02:53:25 ID:??? (-6,-29,-2)
    $thisを見るとか?
    167 : nobodyさん - 2009/04/10(金) 05:12:52 ID:??? (-12,-29,-16)
    >>165
    そもそもstaticなメソッドをthisからメンバ関数として呼ぶべきじゃないよ
    168 : nobodyさん - 2009/04/10(金) 09:47:55 ID:??? (+3,-29,-2)
    static全否定?
    169 : 168 - 2009/04/10(金) 09:48:47 ID:??? (+52,+29,+0)
    ああ、ごめん勘違い
    170 : nobodyさん - 2009/04/10(金) 10:13:06 ID:0gMhmbJC (+22,+27,+0)
    どなたか>>149もお願い致します
    172 : nobodyさん - 2009/04/10(金) 10:38:07 ID:??? (+14,+0,-26)
    >>171
    >foreach を 配列の途中から始めることはできますでしょうか?
    できないけど結果として同じものを得るのは可能

    >このような場合はforを使うのが普通なのでしょうか?
    はい
    173 : 171 - 2009/04/10(金) 10:53:33 ID:BYyPBH+i (-1,+29,-30)
    >>172
    レスありがとうございます。

    やはりforを使うのが普通なのですね。
    いちおう、後学のためにforeachを使って途中から開始する方法も教えていただけないでしょうか?
    175 : nobodyさん - 2009/04/10(金) 11:03:41 ID:??? (+71,-30,-64)
    >>173
    途中から開始するわけではなくて無駄な分はしっかりまわす感じ
    whileでやるようなやり方

    $array = array(1, 2, 3, 4, 5);

    for ($i = 2; $i < count($array); $i++) {
     echo $array[$i];
    }

    $count = 0;
    foreach ($array as $value) {
     $count++;
    if ($count > 2) {
      echo $value;
     }
    }
    177 : nobodyさん - 2009/04/10(金) 11:11:14 ID:??? (+18,-11,-22)
    >>175
    マジレスするとforeachの中でifで判定する手法は古いとだけ記述しておこう
    179 : nobodyさん - 2009/04/10(金) 11:32:44 ID:??? (+12,-29,-15)
    >>176
    プチマジレスするとforeachの中でarray_sliceすると回すたびに関数が実行されるから
    一度別の配列に入れるのがいい
    180 : nobodyさん - 2009/04/10(金) 11:41:47 ID:??? (+24,+1,+1)
    マジレスするとforでやりなYO
    181 : nobodyさん - 2009/04/10(金) 11:44:44 ID:??? (+9,-30,-64)
    >>179
    以下のようにするとhogeが一度しか表示されないのはループの度にarray_sliceは実行されてfooは最初の一度だけってこと?

    function foo()
    {
    echo "hoge<br>\n";
    return array(1, 3, 5, 7, 9);
    }
    foreach (array_slice(foo(), 2) as $value) echo $value,"<br>\n";
    183 : nobodyさん - 2009/04/10(金) 11:53:22 ID:??? (+41,-29,+0)
    >>175
    forの中にcount入れるとかナイワ
    185 : nobodyさん - 2009/04/10(金) 12:00:51 ID:??? (+6,-29,-12)
    >>183
    よく嫁foreachだろ
    forはiで現在位置がわかるが
    foreachはわからないからな
    187 : nobodyさん - 2009/04/10(金) 12:01:22 ID:??? (+3,-30,-52)
    >>179
    こうやってもhogeは一度だけ表示されるけどもしかしてarray_sliceって特別な実行のされ方?

    function slice2()
    {
    echo "hoge<br>\n";
    return array(1,3,5);
    }
    foreach (slice2() as $value) echo $value,"<br>\n";
    188 : 0 - 2009/04/10(金) 12:01:35 ID:/dNSLV40 (-21,+28,+0)
    すいませんID出し忘れました
    以後、気を付けます
    189 : nobodyさん - 2009/04/10(金) 12:02:41 ID:??? (-1,-30,-16)
    >>185
    よく読んだらこう書いてありますね

    for ($i = 2; $i < count($array); $i++) {
     echo $array[$i];
    }
    190 : nobodyさん - 2009/04/10(金) 12:24:25 ID:??? (+3,-29,-42)
    >>175じゃないが俺もcount使ってるわ
    配列の長さ取得するのってPHPだとcountじゃないの?
    JavaやJavaScriptでいうlengthと一緒だよね?
    191 : nobodyさん - 2009/04/10(金) 12:54:09 ID:??? (+3,-30,-132)
    自分の場合、PHPでfor文使うのは、かなり少ないな。
    なんかオフセット的なパラメータが出てくるのはうざったい。

    自分の作ったコードでgrepしたら foreachの 1/10 以下だった。
    while は半分ぐらい。

    >>190
    javascriptは微妙だけどね。
    いきなり配列に x[100] = 'hogehoge'; とかすると、length は 101 になるくせに、
    for(in) だと登録した1つしか出てこないし。そのわりに join は 101個結合するし。
    192 : nobodyさん - 2009/04/10(金) 12:56:45 ID:??? (+71,-29,-10)
    折れも、for文なら count()を使う。

    でも、大抵 foreach 文で処理しちゃうけどね...
    194 : nobodyさん - 2009/04/10(金) 13:04:28 ID:??? (+76,-30,+0)
    // テスト用変数
    function testAry() {for($a=0;$a<100;$a++) $h[]=$i;return $h;}
    // タイム測定
    function bench() {return microtime(true);}
    // ベンチマーク表示
    function cale($time) {
    echo "<pre>";print_r($time);echo "</pre>";
    foreach($time as $t) {echo "<p>".($t[1]-$t[0])."</p>";}
    }
    // --------- 比較コード ---------------- */
    $time[0][0]=bench();

    $test = array();
    $cnt=count(testAry());
    for($i=0; $i<$cnt; $i++) {$test[]=$i;}

    $time[0][1]=bench();

    // ---------- 175のコード ------------- */

    $time[1][0]=bench();

    $test = array();
    for ($i=0; $i<count(testAry()); $i++) {$test[]=$i;}
    $time[1][1]=bench();

    /* ---------- ここまで ---------------- */

    cale($time);
    195 : nobodyさん - 2009/04/10(金) 13:05:15 ID:??? (+134,+29,-62)
    >>192
    マニュアル読め。

    http://jp.php.net/manual/ja/control-structures.for.php
    >この書き方には問題があります。 このコードは実行速度が遅くなることでしょう。 配列のサイズを毎回計算しているからです。 ...

    >>179 の意味がイマイチ取りきれんのだけど、foreach がループ回数分だけ式を評価するってのは初耳。
    ちょっとありえんと思う。
    196 : nobodyさん - 2009/04/10(金) 13:06:32 ID:??? (-1,-30,-49)
    >>194の続き

    ベンチマーク結果

    0.00026893615722656(countをforから外したコード)
    0.016515970230103(>>175>>185が進めるのコード)

    197 : nobodyさん - 2009/04/10(金) 13:07:52 ID:??? (+64,+29,+2)
    >>195 間違い >>192 じゃなくて >>193
    ごめんね。
    198 : nobodyさん - 2009/04/10(金) 13:08:30 ID:??? (+75,+29,-16)
    >>195
    うほっ。最適化されるもんだとばかりorz。
    199 : nobodyさん - 2009/04/10(金) 13:08:59 ID:??? (+40,-30,-33)
    >>181
    そういうこと
    foreach (array_slice(foo(), 2) as $value) echo $value,"<br>\n";

    fooは一度しか呼び出されないが、配列の数だけarray_sliceが動いてる
    200 : nobodyさん - 2009/04/10(金) 13:11:00 ID:??? (+60,+27,+2)
    >>194-195
    参考になりました
    ありっす
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について