トップページ⇒php
1001コメント314KB

【PHP】下らねぇ質問はここに書き込みやがれ 56

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2007/10/11(木) 17:55:41ID:uObe69hr
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 55
http://pc11.2ch.net/test/read.cgi/php/1191058556/

◆質問する時の注意
・ sage進行(メール欄にsageと記入すること)「sage進行」とはスレを目立つ上部に上げないことによって、荒らしが発見できないようにすることです
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
・ 書き込むときには、「公式マニュアル、リファレンス本は読みました」と明記すること
(でないと、公式マニュアル読めと煽られます)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
・質問者が「公式マニュアル読んだ」と書いていないからといって、
公式マニュアルに書いてもいないのに、公式マニュアルよめと適当なことを言わないこと。
質問者は公式マニュアルを読んでいるかもしれない。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0461nobodyさん2007/10/18(木) 22:10:39ID:???
>>459
2ちゃんねるってそういうところだしw

いやなら、他の大人な対応してくれる掲示板に行ったら?w
0462nobodyさん2007/10/18(木) 22:11:10ID:???
得意がって実際に使ったら可読性が下がった挙げ句、周りにバカにされるだけ
0463nobodyさん2007/10/18(木) 22:12:00ID:???
>>461って病院に言った方がいいんじゃね?w
0464nobodyさん2007/10/18(木) 22:12:52ID:???
>>458
すごく重要なレス(笑)
0465nobodyさん2007/10/18(木) 22:13:22ID:???
>>462
クラスのことを教えたら、
そんなものつかったら可読性が下がるとか
言い出すコボラーですか?w

どんな構文でも適切に使えばいいだけの話でしょう。
0466nobodyさん2007/10/18(木) 22:15:35ID:???
>>463
行かないしw

だから、君はまた俺のレスを見ることになるよ。

ぐちぐちいうなよ? お前が消える以外に見ない方法なんて無いんだからw
0467nobodyさん2007/10/18(木) 22:17:27ID:???
>>466
お前が死ねば全て解決w
0468nobodyさん2007/10/18(木) 22:18:09ID:???
死なないから解決しないねwww
0469nobodyさん2007/10/18(木) 22:19:14ID:???
PHP"だけ"の閉じた世界で一生を終えるんなら構わんけど
他の言語でこんな書き方して
「動きません」とか「エラーになるんですけど」とか
言われたら正直泣いちゃうかも
0470nobodyさん2007/10/18(木) 22:19:24ID:???
>>465
それは、おまえの教えかたがヘタクソなんだよw
人に理解してもらえないからってボロクソに言う前に、
お前がクラスを理解するほうが先なんじゃね?
0471nobodyさん2007/10/18(木) 22:21:00ID:???
>>469
>他の言語でこんな書き方して
>「動きません」とか「エラーになるんですけど」とか
まさに>>468がそんな感じだな
定数しか書けないことを知って、だから○○はクソなんだ、とか言いそうw
0472nobodyさん2007/10/18(木) 22:21:08ID:???
>>469
あー、あなたのレスは実は、
PHPとあと一つ(?)の言語しか知らずに
「PHPが普通じゃない!」といったら
実は他にもそういう言語があって、
恥をかいたやつを笑っているんだな?w
0473nobodyさん2007/10/18(木) 22:22:18ID:???
PHPがいろんな意味で適当で普通じゃないのは
メジャーなところでCやJavaやったことある人間なら痛感してるだろ
ここでPHPを執拗に擁護してるのはPHPしかやったことないだけちゃうんかと
0474nobodyさん2007/10/18(木) 22:22:19ID:???
>>472
最初から使わないから恥じゃないよw
0475nobodyさん2007/10/18(木) 22:23:10ID:???
ブレス10であわせてるかもしれないから敵にもブレスな
0476nobodyさん2007/10/18(木) 22:23:25ID:???
>>471

まあ、現実は、他にも使える言語があるのに、
「だからPHPはクソなんだ。」と言っているやつが
いまここで恥かいているんだけどなw
0477nobodyさん2007/10/18(木) 22:24:17ID:???
>>476
>「だからPHPはクソなんだ。」
どこに書いてあるのかな?
眼科にいったほうがいいよ、君w
0478nobodyさん2007/10/18(木) 22:25:33ID:???
>>477
うん、クソとは書いてないね。
同じような事言っているがw

453 名前:nobodyさん[sage] 投稿日:2007/10/18(木) 20:02:58 ID:???
まぁPHPは適当ですから普通じゃないことが普通なんです

455 名前:nobodyさん[sage] 投稿日:2007/10/18(木) 21:55:26 ID:???
>>451
PHPって気持ち悪いなー
0479nobodyさん2007/10/18(木) 22:25:33ID:???
switch文で条件式書けたほうが書けないほうより明らかに便利じゃん。
なんで他の言語使うときにそういう質問したらだめなんだ?
不便で融通が利かない他の言語が悪いんだろ。
0480nobodyさん2007/10/18(木) 22:26:58ID:???
>>478
わかったら、さっさと消えろよwww
0481nobodyさん2007/10/18(木) 22:27:06ID:???
>>479
便利だから何でも実装すればいいってもんじゃないんだよ
0482nobodyさん2007/10/18(木) 22:27:42ID:???
>>481
でも、JavaScriptでも実装されているよな?
0483nobodyさん2007/10/18(木) 22:29:23ID:???
そもそもcaseに条件式が書いてたら、
switchのところの変数って意味がないよね
0484nobodyさん2007/10/18(木) 22:30:01ID:???
>>481
実装することによってどんな弊害が?
0485nobodyさん2007/10/18(木) 22:32:14ID:???
>>479
最初からif文で書いたほうがすっきりする
0486nobodyさん2007/10/18(木) 22:35:13ID:???
まぁまぁ、喧嘩すんなよ
手元のコンパイラで確かめてみた-> C & C++
case 2-1:
こういう書き方でも判定してるね
0487nobodyさん2007/10/18(木) 22:36:43ID:???
>>486
それは、コンパイラが2-1を計算して、定数として扱っているからだろう
0488nobodyさん2007/10/18(木) 22:41:22ID:???
>>483
お前馬鹿か?
↓これのswitchのカッコの所をtrue/falseに切り替えて実行してみろ。

foreach(array(1,2,3,4,5,6,7,8,9,10) as $dispMode) {
echo "$dispMode: ";
switch(true) {
case (5 > $dispMode) :
echo "OK\n";
break;
default:
echo "\n";
}
}

caseに定数だけではなく、式が使用できることの何が悪いんだが、
0489nobodyさん2007/10/18(木) 22:52:59ID:???
何かにつけて言語の優劣つけたがる奴いるよね
言語なんて所詮道具なのにな
0490nobodyさん2007/10/18(木) 22:56:03ID:???
>>488
パズルとしては面白いかもしれないが、
どこが便利なのかさっぱりだな
0491nobodyさん2007/10/18(木) 22:57:32ID:???
>>490
うん。初心者ほどよくそういう。
それ、ifがあるからswitchなんていらないと言っているのと同じね。
0492nobodyさん2007/10/18(木) 22:57:53ID:???
>>484
言語構造自体がスパゲティーになる
PHPはあれもこれもとC,Perl,Javaからとってきた感じで
それらのユーザに合わせるため関数名が違うだけで
同じ挙動するものとかがいくつかあったりで統一性がなかったり
0493nobodyさん2007/10/18(木) 22:58:29ID:???
>>492
それは、ただの一般論
0494nobodyさん2007/10/18(木) 22:58:57ID:???
>>491
初心者じゃないなら、>>488の適切に利用できる例がすぐに浮かぶよな?
0495nobodyさん2007/10/18(木) 23:00:42ID:???
>>493
一般論なら>>492はPHPやJavascriptにも適用できるってことだろw
0496nobodyさん2007/10/18(木) 23:02:11ID:???
>>494
なぜ、ifがあるのにswitchがあるか?
それはswitchのほうが見通しがいい場合があるから。
ここまでヒント言えばわかるだろ?
0497nobodyさん2007/10/18(木) 23:04:52ID:???
それなりにプログラム言語をやっていれば、
caseのあとに、定数だけじゃなくて、
文字列や関数を書きたくなったことあると思うんだがねぇ?
まだまだだな。
0498nobodyさん2007/10/18(木) 23:06:07ID:???
>>496
例がうかばないから、ヒントとかいって誤魔化しにかかりましたw

switch-caseは同じ変数との比較が多い場合に、ifより見通しがいいからだろ
例が出せないなら消えろよw
0499nobodyさん2007/10/18(木) 23:07:25ID:???
>>498
おまえさ、本気でcaseのあとに
文字列や関数を書きたいと思ったこと無いの?
経験不足だな。
0500nobodyさん2007/10/18(木) 23:07:32ID:???
>>497
文字列が書けるのは便利だが、関数が書けるのは便利だとは思わない
この違いがわからないよではまだまだだな
0501nobodyさん2007/10/18(木) 23:09:03ID:???
数値の範囲を書きたくなることは結構あるかな。
0502nobodyさん2007/10/18(木) 23:09:54ID:???
>>501
それはあるね
0503nobodyさん2007/10/18(木) 23:10:09ID:???
数値が1の場合、
数値が2の場合、
数値が3の場合、
数値が4の場合、
数値が5〜10の場合、
数値が11〜20の場合、
数値が21の場合、
数値が22の場合、

俺ならswitch使いたくなるな。
0504nobodyさん2007/10/18(木) 23:10:25ID:???
醜い争いだな(笑)
0505nobodyさん2007/10/18(木) 23:12:52ID:???
ほら。見つけた。たしかにこれならswitchを使いたくなる。
http://blog.zuzara.com/2006/06/14/85/
0506nobodyさん2007/10/18(木) 23:13:12ID:???
Cなどで出来ないのは言語が機械に合わせてるからじゃね?
その代償として様々な決まりというか制限がある。
範囲指定しての多岐分岐なんて人間には普通の表現。PHPやJSなどは人間に合わせてるからそれが出来るとか。

スレチだが勉強中のRubyでしてみたら不等式はダメだが別の方法でOKだった(ちなみに浮動小数点でもOK)。

(1..10).each {|dm|
 print "#{dm}: "
 case dm
  when 5
   puts "5"
  when 0...5
   puts "0-4 (0 <= dm < 5)"
  when 5...10
   puts "6-10 (5 < dm < 10)"
  else
   puts "other"
 end
}

実行結果:
1: 0-4 (0 <= dm < 5)
2: 0-4 (0 <= dm < 5)
3: 0-4 (0 <= dm < 5)
4: 0-4 (0 <= dm < 5)
5: 5
6: 6-10 (5 < dm < 10)
7: 6-10 (5 < dm < 10)
8: 6-10 (5 < dm < 10)
9: 6-10 (5 < dm < 10)
10: other
0507nobodyさん2007/10/18(木) 23:13:28ID:???
自称「初心者でない」奴がいるけど、そのわりには例も出せないんだなあw
0508nobodyさん2007/10/18(木) 23:15:50ID:???
>>505
ぐぐらないとわからない経験者ってw
0509nobodyさん2007/10/18(木) 23:16:47ID:???
>>506
そうそう。

この問題は本質的には、
caseの後に数値定数しか指定できないか、
(数値定数+文字列しか指定できないか、)
数値や文字列を含めた式すべてを指定できるかという話でしかない。

わざわざ数値や文字列に限定する必要は無いだろう。
その結果式として扱えるものならなんでも指定できる。
そういうことでしかない。

ちょっと詳しくなった程度のやつが、変だ変だというほど
変な仕様ではない。現にJavaScriptでも使える。
0510nobodyさん2007/10/18(木) 23:17:34ID:???
PHPって言語仕様コロコロ変更するから気をつけないとねぇ〜
0511nobodyさん2007/10/18(木) 23:18:31ID:???
言語をたたいているやつは、
たいてい中途半端な知識しか
持ち合わせていない罠。
0512nobodyさん2007/10/18(木) 23:20:08ID:???
>>506
それは「ひとつの変数に対して何かと比較する」という意味で文法が一貫してるよね
phpの場合は、caseの中にぜんぜん関係ない変数が比較対象として持ち込めるのがねー
0513nobodyさん2007/10/18(木) 23:20:23ID:???
PHPはユーザの質が低いからいけないんだよ
ほんと餓鬼ばっか
0514nobodyさん2007/10/18(木) 23:21:06ID:???
いいじゃん持ち込めて。
自分が嫌なら使わなければすむこと
0515nobodyさん2007/10/18(木) 23:21:28ID:???
すれ違いかもしれないんですが、
NOVAが明日まで給料日の支払を延ばしたということは、
もしかして、いよいよ明日がNOVAのXデーっていうことも考えられるかな?
0516nobodyさん2007/10/18(木) 23:22:17ID:???
if ( a() == null ) {
} elseif ( b() == null ) {
} elseif ( c() == null ) {
} elseif ( d() == null ) {
}

俺なら、== null は一度しか書きたくないな。
うん。switchつかう。

switch(null) {
case a() :
case b() :
case c() :
case d() :
}
0517nobodyさん2007/10/18(木) 23:23:42ID:???
>>514
だから俺は使ってないよ
0518nobodyさん2007/10/18(木) 23:24:17ID:???
>>512

> phpの場合は、caseの中にぜんぜん関係ない変数が比較対象として持ち込めるのがねー

ばーかばーか。関係ない変数? それが比較対象?
caseに中に式を入れられるって事でしかないんだよ。
難しくかんがえんなw
0519nobodyさん2007/10/18(木) 23:25:47ID:???
そうやって>>518はスパゲティプログラムを増やしていくのであったw
0520nobodyさん2007/10/18(木) 23:26:26ID:???
>>519
お前はなに使ってもスパゲティにしてるだろw
0521nobodyさん2007/10/18(木) 23:28:07ID:???
>>520
自分で例も出せない経験者がでしゃばっているスレでそんなことを言われてもねw
0522nobodyさん2007/10/18(木) 23:28:27ID:???
いくつも出したが?w
0523nobodyさん2007/10/18(木) 23:31:00ID:???
>>522
俺は>488が適切に使える例を希望した(>>494)が結局出てないようだが。
switchにtrue/falseを指定する例ってどこに出てたっけ?w
0524nobodyさん2007/10/18(木) 23:31:06ID:???
>>522
そうやって、すぐ攻撃的になるのが若いんだよ。
歳が若いというより脳が若いといった方が正確かもしれないが。
もっと冷静に自分を見つめ直しなさいね。秋の夜長、考える時間はいくらだってあるぞ(笑)
0525nobodyさん2007/10/18(木) 23:31:26ID:???
もう「変態プログラミング言語万歳!!」でいいじゃん
0526nobodyさん2007/10/18(木) 23:31:44ID:???
>>524
(爆)
0527nobodyさん2007/10/18(木) 23:32:12ID:???
>>524
ほう。攻撃的に見えるのかw
0528nobodyさん2007/10/18(木) 23:33:45ID:???
>>523
まるで、それ以外の例はあるが
「見たくない!」と言っているかのようだw
0529nobodyさん2007/10/18(木) 23:36:55ID:???
>>528
>まるで、それ以外の例はあるが
確かにcaseに関数をおいて適切に使えそうな例はあったけどな


結局、>>488の例は、ヒントで誤魔化して出せなかったんだろw
0530nobodyさん2007/10/18(木) 23:38:09ID:???
確かにcaseに関数をおいて適切に使えそうな例はあったけどな
確かにcaseに関数をおいて適切に使えそうな例はあったけどな
確かにcaseに関数をおいて適切に使えそうな例はあったけどな
確かにcaseに関数をおいて適切に使えそうな例はあったけどな
確かにcaseに関数をおいて適切に使えそうな例はあったけどな
確かにcaseに関数をおいて適切に使えそうな例はあったけどな


これで終了じゃんw
0531nobodyさん2007/10/18(木) 23:39:38ID:???
>>530
何を言ってるんだ?お前は?
プログラム言語を勉強するより、日本語を勉強してこいw
0532nobodyさん2007/10/18(木) 23:40:02ID:???
>>517
>phpの場合は、caseの中にぜんぜん関係ない変数が比較対象として持ち込めるのがねー
じゃあ持ち込めるのが、何なのよ
0533nobodyさん2007/10/18(木) 23:41:13ID:???
語尾にwつけてる2人が争ってるんだろ?
どっか逝ってくれ
0534nobodyさん2007/10/18(木) 23:41:59ID:???
>>533
2ちゃんではいつものこと
嫌ならお前がどっかに逝けよ
0535nobodyさん2007/10/18(木) 23:54:25ID:???
switch(プログラミング経験)
{
  case "PHP Only":
   print "この人、地雷かも…";
   break;
  default:
   print "セーフティじゃね?";
}

こういう構図にさえならなければ、どうでもいいよ
0536nobodyさん2007/10/18(木) 23:54:36ID:???
今の争いは、
>>483
>>そもそもcaseに条件式が書いてたら、
>>switchのところの変数って意味がないよね
が原因だろ?
case (5 > $dispMode) のような範囲指定(条件式)や
case is_float($test) みたいな関数使わざるを得ないこともあれば、単純に
case 5 のようなそのものズバリの場合もあるんだからswitchの場所に変数あってもいいでしょ。
仮に全てが条件式でもswitchに変数あった方が何を分岐させたいのかわかりやすいじゃん。
0537nobodyさん2007/10/18(木) 23:56:16ID:???
>>535
経験が全く無い人でもセーフティなのか。
0538nobodyさん2007/10/18(木) 23:56:59ID:???
>>537
ワロタw
0539nobodyさん2007/10/18(木) 23:57:53ID:???
>>536
こうして話をむし返すバカがまた出てきたよ・・・
05405362007/10/19(金) 00:01:10ID:???
>>539
スマンな。もう争いは終わったのか?
0541nobodyさん2007/10/19(金) 00:05:22ID:???
>>518
式なら式でいいけど、その式に渡される値はあくまで
switch(変数)で指定した変数であって欲しいと思わん?
switch()部分と無関係な内容のcaseは読みにくいでしょ。
0542nobodyさん2007/10/19(金) 00:05:48ID:???
なんかすげー盛り上がってる
俺も範囲指定はしたくなることあるな
こんな風に書くのめんどくせー

 switch($dispMode) {
  case 0:
  case 1:
  case 2:
  case 3:
  case 4:
   echo "0-4\n";
   break;
  case 6:
  case 7:
  case 8:
  case 9:
  case 10:
   echo "6-10\n";
   break;
  case 5:
   echo "5\n";
   break;
  default:
   echo "other\n";
   break;
 }
0543nobodyさん2007/10/19(金) 00:06:31ID:???
>>537
何色にも染まっていない無垢なままの方が良いケースもある
中途半端な知識の実装は邪魔なばかりか邪悪でさえある
0544nobodyさん2007/10/19(金) 00:07:32ID:???
>>542
そんなあなたにRubyがおすすめ
>>506
0545nobodyさん2007/10/19(金) 00:07:49ID:???
>>542
それしかできないCならif使うわな。
0546nobodyさん2007/10/19(金) 00:13:19ID:???
>>542
Rubyだと横に並べれます

case dispMode
 when 0,1,2,3,4
  puts "0-4"
 when 6,7,8,9,10
  puts "6-10"
 when 5
  puts "5"
 else
  puts "other"
end
0547nobodyさん2007/10/19(金) 00:34:26ID:???
注意:  switch/case が行うのは、 緩やかな比較  であることに注意しましょう。
0548nobodyさん2007/10/19(金) 00:44:59ID:???
>>547
NOVAが給料日を今日にしたのは訳がある、まで読んだ。
0549nobodyさん2007/10/19(金) 01:04:04ID:???
おまえに訳などない!
0550nobodyさん2007/10/19(金) 01:23:00ID:ftfft438
すみません、明日までの課題終わる気配ないんですが、
ここのスレの住民総動員して代わりにやってもらうことは可能ですか?

課題は、全部で7種類あるんで、自分は1種類はやるんで、
残りの6種類やって欲しいんですけど。
0551nobodyさん2007/10/19(金) 01:26:01ID:ftfft438
まず、一個目。

phpと他の3つ以上のweb系言語を比較して、各言語の特性を分析考察し、
その特徴が最も分かるコードを各50行から100行までで簡潔に示せ。
0552nobodyさん2007/10/19(金) 01:30:54ID:ftfft438
次。

phpの例外処理の機構と、例外処理に対する留意点を体系化して論じよ。
0553nobodyさん2007/10/19(金) 01:33:02ID:???
あまりの図々しさに不覚にもワラタw
0554nobodyさん2007/10/19(金) 01:33:28ID:???
>>550
可能かどうかまだ返信すらしてないのに勝手に始めないで下さい。
それで本題ですがそういったことはここではできませんのでお引取り下さい。
0555nobodyさん2007/10/19(金) 01:36:42ID:ftfft438
>>554
ちょwwwwww使えねーこのスレ!!!
市ね!!!!!!!!!!!!!!!
0556nobodyさん2007/10/19(金) 01:42:12ID:???
まずは礼儀として学校名と学年を述べなさい
話はそれからだ
0557nobodyさん2007/10/19(金) 01:45:59ID:???
お前PHP以前にプログラマ的思考向いてないから諦めろww
0558nobodyさん2007/10/19(金) 01:57:34ID:???
課題を見てみたいので最後まで載せろw
0559nobodyさん2007/10/19(金) 02:02:01ID:???
throw new SurechiException();
0560nobodyさん2007/10/19(金) 02:03:02ID:???
>>550
>ここのスレの住民総動員

これがそもそも無理
このスレの成分分析すりゃわかるけど俺の自作自演だからな
0561nobodyさん2007/10/19(金) 02:13:28ID:???
>>550
とりあえず最後まで質問載せてみ?
俺が相手してやんよ。
■ このスレッドは過去ログ倉庫に格納されています