【PHP】下らねぇ質問はここに書き込みやがれ 71
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/07/17(木) 19:42:52ID:DVaNTncwPHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 70
http://pc11.2ch.net/test/read.cgi/php/1214356448/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0482nobodyさん
2008/08/04(月) 12:55:08ID:???0483nobodyさん
2008/08/04(月) 13:22:32ID:???そういう問題解決の方法はプログラム書いていく上でも同じだぞ。
0484nobodyさん
2008/08/04(月) 14:27:44ID:???昔もあったけど、xamppをanhttpdとかと勘違いしてるんだろーなw
0485nobodyさん
2008/08/04(月) 14:35:42ID:???0486nobodyさん
2008/08/04(月) 14:55:24ID:???ローカルはxamppで公開鯖は半手動。
0487nobodyさん
2008/08/04(月) 15:09:02ID:???本番環境に合わせられるってのがあるかな
xamppの方がバージョンが新しい場合が多いので、うっかり本番環境の
バージョンで使えないコードを書いたりすることがたまにある
0488nobodyさん
2008/08/04(月) 15:10:42ID:???上のほうでも出てるがお前らは何をやりたいんだ?
プログラムの開発か?それとも鯖屋か?
0490nobodyさん
2008/08/04(月) 15:15:00ID:???0491nobodyさん
2008/08/04(月) 15:15:47ID:???0493nobodyさん
2008/08/04(月) 15:27:47ID:???1からの場合
最低限アパッチ、PHP、MYSQLの3つのサイトのURL探しから
xampp
xamppのURLのみ
頭の良い奴ならこの時点でわかるよな
winならxamppで構築するのが最速
どっちでやっても時間が変わらないというド素人は、どっちの環境も作ったこと無いかリアル池沼
細かい鯖設定を覚えたければ他のスレへw
0494nobodyさん
2008/08/04(月) 15:46:51ID:???0495nobodyさん
2008/08/04(月) 15:47:59ID:???0496nobodyさん
2008/08/04(月) 15:48:27ID:???井の中の蛙ってやつか。
0497nobodyさん
2008/08/04(月) 15:50:15ID:???0499nobodyさん
2008/08/04(月) 16:25:07ID:???0500nobodyさん
2008/08/04(月) 16:27:03ID:???0501nobodyさん
2008/08/04(月) 16:28:51ID:???どれくらい要るんだろうな。
動作させるサーバ環境なんて、
最終的に動かす環境のバージョンとの
互換性を満足できれば
正直なんでもいいしな。
0502nobodyさん
2008/08/04(月) 16:31:11ID:???何か問題にぶつかるたびに無駄に調べまわってなかなか先に進めないタイプ
>>497は無駄なく開発に専念できる賢いやつ
>>499はデバッガつきなら賢い
0503nobodyさん
2008/08/04(月) 16:35:48ID:???PHPだけの開発のためにPC使ってるやつのほうが稀
お前らもMMOとかWindows用のゲームとかを開発してるPCでもやるよな?
0504nobodyさん
2008/08/04(月) 16:41:51ID:???という質問が来るからうんざりしてんだよ。
0507nobodyさん
2008/08/04(月) 16:47:45ID:???0508nobodyさん
2008/08/04(月) 16:48:14ID:???0510nobodyさん
2008/08/04(月) 16:49:48ID:???なんでですか?
0512nobodyさん
2008/08/04(月) 17:08:58ID:???$text = split('<!--メイン-->' ,$text);
$text[0] = 'あいうえお';
$text[1] = 'かきくけこ';
としたいのですが、うまく動作しません。
splitのとこの書き方が悪いと思うのですが、どう書けばよいのでしょうか?
0514nobodyさん
2008/08/04(月) 17:24:10ID:???mb_split はどう?
0517nobodyさん
2008/08/04(月) 18:29:34ID:???$text = split(quotemeta('<!--メイン-->') ,$text);
0518512
2008/08/04(月) 18:50:00ID:???穴があったら入りたいです・・・
$textの中の文字コードとソースの文字コードが違っただけでした><
1度確認したつもりだったのに
お騒がせしました
0519nobodyさん
2008/08/04(月) 19:28:54ID:???0521nobodyさん
2008/08/04(月) 20:53:22ID:???(д`* )
(⊃⌒*⌒⊂)
/__ノωヽ__)
0522nobodyさん
2008/08/04(月) 22:24:24ID:mchfEoZH添え字は、どうして0からスタートしているのでしょうか?
もしかしたら、2進法の流れでしょうか?
10進法でいえば始まりは1が基本ですよね?
配列を処理する場合に、$i + 1としなければいけないなど、
生産性が著しく悪いのですが、配列回りの所作について
定義している箇所はありますか?
0523nobodyさん
2008/08/04(月) 22:34:10ID:???10進数でも2進数でも0からなのは同じだろ。
>配列を処理する場合に、$i + 1としなければいけないなど、
わからん。具体例をあげてくだちい
0525nobodyさん
2008/08/04(月) 22:38:38ID:mchfEoZHご回答ありがとうございます。
いや、現実の世界では0ではなく1から始まりますよね。
# 会員番号、出席番号、駅のホームの番号など0からスタートするなんてまれです。
その事から、業務プログラムを作ると、そのような連番処理をする場合に、
for文の中で$i + 1としてから、連番を振らなければいけないなどの
面倒な処理が出てきます。しかし配列は$array_sample[$i]のように$iです。
このような処理があちらこちらに出現すると、バグの元にもなりますし、
$iを使っているのか$jを使っているのか訳が分からなくなります。
0526nobodyさん
2008/08/04(月) 22:41:40ID:???0527nobodyさん
2008/08/04(月) 22:42:06ID:t2yFOOOp言語によってはデフォでは配列の添え字が1から始まったりする
だからphpでは単にそう決まってるだけだよ
まぁ最初に作った奴は0からのが便利って思ったってだけだろ
0529nobodyさん
2008/08/04(月) 22:49:06ID:3goeRlYF>このような処理があちらこちらに出現すると、バグの元にもなりますし、
変数の使い方をしっかり決めておけばそんな混乱は起こらない。
あと出席番号=添字にするのなら、[0]を使わず[1]から振っていけばいい。
0530nobodyさん
2008/08/04(月) 22:51:19ID:mchfEoZH> まぁ最初に作った奴は0からのが便利って思ったってだけだろ
最終的にはそういうことですね。
1からではなく0から使うことのメリットを逆に知りたいくらいですですが・・・。
現実の世界とかけ離れたivory towerの中で作られたという印象を受けます。
phpの新しいバージョンで1から始まるように、願うしかないのでしょうね。
0531nobodyさん
2008/08/04(月) 22:53:43ID:???0532nobodyさん
2008/08/04(月) 22:56:05ID:???それは自然数だね。
>for文の中で$i + 1としてから
$iがいくつから始まるとか言ってくれないとわからん。
$iを1から初めて$array_sample[$i-1]みたいに使うこともあるだろ。
>$iを使っているのか$jを使っているのか訳が分からなくなります。
それは別のことの気がする。
0535nobodyさん
2008/08/04(月) 23:04:04ID:???0536nobodyさん
2008/08/04(月) 23:13:50ID:???どーぞ
どーぞ
0537nobodyさん
2008/08/04(月) 23:16:12ID:mchfEoZH貴重なご意見を頂きましてありがとうございました。
phpがC言語を影響を受けるのは必然的な流れで、
よく考えずに実装をしてしまったというのが妥当な推測でしょうか。
例えば、配列$company_memberを処理する際に、
for ($i = 0; $i < count($company_member); $i++)
とするのは見慣れてしまっているので、むしろ自然の形かもしれませんが、
これを日本語風に翻訳すれば、「0より大きく最大数未満で処理しろ」ということですが、
for ($i = 1; $i <= count($company_member); $i++)
として、「1番目から最大数になるまで処理しろ」というのが自然のリアルの思考です。
自然の思考に従って、後者の書き方で実装すると良さそうに見えますが、
phpの関数の言語仕様が0で始まっている以上、phpの標準関数を使う際に色々と支障が出てきます。
また、チームでやっているので、0から始まったり1から始まったりでは、
認識のズレが生じて、それも又バグの元です。
これを回避する方法はなく、結局郷に入りては郷に従え、悪法も法なりで
# 結局、0から始まることのメリットを言われる方がいないのもその裏付けだと思いますが
phpの言語思想の中で実装をしなければならないというのが結論と理解しました。
ありがとうございました。
0538nobodyさん
2008/08/04(月) 23:19:41ID:???\/ ● 、_ `ヽ ======
/ \( ● ● |つ
| X_入__ノ ミ そんなエサで俺様がクマ――!!
、 (_/ ノ /⌒l
/\___ノ゙_/ / =====
〈 __ノ ====
\ \_ \
\___) \ ====== (´⌒
\ ___ \__ (´⌒;;(´⌒;;
\___)___)(´;;⌒ (´⌒;; ズザザザ
(´⌒; (´⌒;;;
0539nobodyさん
2008/08/04(月) 23:19:58ID:???0541nobodyさん
2008/08/04(月) 23:23:14ID:???混在しているとややこしいね。
以下のxは配列の先頭とか20とか33とかと仮定する。
xから5番目といったら$array_sample[x+5-1]なんだよな。
これはxと同じ位置のことをxから1番目と数えるからなんだろうな。
つまり1から数えるのはデメリットもあるってこと。
>よく考えずに実装をしてしまったというのが妥当な推測でしょうか。
そうは思わない。
>また、チームでやっているので、0から始まったり1から始まったりでは、
>認識のズレが生じて、それも又バグの元です。
配列に関係なく認識のずれがある時点でダメだろ。
># 結局、0から始まることのメリットを言われる方がいないのもその裏付けだと思いますが
なんだその視野の狭い即決は。
0542nobodyさん
2008/08/04(月) 23:23:59ID:???添え字が0から始まる言語のすべてに当てはまることを
さもphpだけに当てはまるように書いているのには
なかなか興味深いものがあるな
0543nobodyさん
2008/08/04(月) 23:24:38ID:???詳細設計しろ。
添え字が何を意味するのか曖昧なまま開発したらバグって当たり前だ。
0を使いたくなければ使わなきゃいい。
0を使わない方向でチーム内で意思統一すればいい。
0545nobodyさん
2008/08/04(月) 23:27:38ID:???0546nobodyさん
2008/08/04(月) 23:27:41ID:???無知ばかりのメンバ
初心者ばかりのメンバ
暗黙の了解で作業している
失笑されるから質問とかしずらい
そんなチームなのかな。
大変だよな。わかるよ。
0547nobodyさん
2008/08/04(月) 23:28:32ID:???>>526に対する感想は。
なんで添字をそのまま出席番号に使おうとするのか分からん。
俺の中では全く別物。
あと真面目に議論したいなら、その嫌味口調をやめることと、都合の悪いことは無視せずに人の話をちゃんと聞くことかな。
0548nobodyさん
2008/08/04(月) 23:29:41ID:???添え字なんて使わずにポインタ使うにする、とかそういう実装の言語作ればいいじゃない
きっと君の言う自然に合致するはずだ
0549nobodyさん
2008/08/04(月) 23:37:52ID:???Pascalは確か範囲を指定できるんだよな。マイナスとかできたっけ?
移植するとき辛い。実際面倒だからMATLABで実験するの拒否したけど。
混乱するから、全部0から始まる言語だけでいいよ。
0550nobodyさん
2008/08/04(月) 23:40:25ID:???チーム内で0と1が混在してしまうから面倒だってこと?誰かまとめplz
0551nobodyさん
2008/08/04(月) 23:45:20ID:???それでは、まとめます。(日高義男風)
プログラマー思考の0派と、自然思考の1派がいて、
どちらかに統一しようとすると、思想弾圧に繋がって、
チームがギクシャクするから、困っている。
ということ。
0552nobodyさん
2008/08/04(月) 23:49:54ID:???PHP知ってるやつって全員配列の添字は0から始まるってことを知ってるからチームで動いても問題ないのでは?
むしろ知らない奴のほうが珍しいだろw
0553nobodyさん
2008/08/04(月) 23:53:10ID:???コーディングやデバッグしているときは$i=0とか$a[0]を扱うとかに
ついていけない初心者ばかり増員されて苦労してんじゃないの。
気持ちはわかる。プログラムは大変だよね。面倒だよね。
野球には背番号が0番とか00番があるみたいですね。
俺野球に興味無いからよくしらんけど。
プログラマーって大変ですね。
0555nobodyさん
2008/08/04(月) 23:56:36ID:???使う言語に合わせりゃいいだけの話だろ
0556nobodyさん
2008/08/04(月) 23:58:20ID:???if文でi=0とか、
0558nobodyさん
2008/08/05(火) 00:33:54ID:???そんなこと初めて聞いた。
他に事例あるか?
「添字が1から始まるべき」思想を持ってる初心者が大量増員されたんならご愁傷様と言う他無いが。
0559nobodyさん
2008/08/05(火) 00:43:24ID:???(出席番号の場合、[0]を担任教師用に確保するんだよ)
ただ、ナンバーが01から始まり、最後まで連続しているっていうのは、あくまで例外であり、それを基準にするのは間違っている。
0560nobodyさん
2008/08/05(火) 00:46:37ID:???おまえxamppなんか糞開発環境プギャー
オレは時間かかるけど1から開発環境作ってるぜ (キリッ
の奴だろw
0561nobodyさん
2008/08/05(火) 00:51:18ID:???アセンブラ勉強した奴ならわかると思う
0562nobodyさん
2008/08/05(火) 01:03:59ID:???xamppは開発環境ではありません。
あと時間を気にするなんて毎日作り直してんの?
参考までに使った場合と使わない場合にそれぞれかかる時間を教えて。
0563nobodyさん
2008/08/05(火) 01:06:13ID:???0564nobodyさん
2008/08/05(火) 01:11:44ID:???足りない頭で、レス乙。
高級言語の仕様が1から始まるかと0から始まるかということと、
アセンブル・機械語がどうかとは全く別の話だ。
それは高級言語の実装で吸収すればいいだけの話。
0565nobodyさん
2008/08/05(火) 02:54:56ID:???俺その辺詳しくないから聞きたいんだが、
要素数が255とか65535(2進法)
10、100(10進法)
2147483647(32bitでのintとfloatの境界)
の時は[0]スタートの方が有利に思えるんだけどどうなの?
例えば10個目の配列の参照する時
[0]からの場合【[9]】
[1]からの場合【[10]】
と書くよな。
9は1文字、10は2文字
ソースのサイズは若干変化あるよな。
後、intとfloatの型変化の時も影響がデカイ気がする。
こういうレベルの影響はないのか?
0566nobodyさん
2008/08/05(火) 03:12:59ID:???hogearray[16]は、*(hogearray + 16)の構文糖衣。
多次元配列darray[4][4]は*(darray + 4 * x + 4)。 # xはsizeof(darray[0])
もし要素番号が1から始まったら、多次元配列darray[4][4]は*(darray + 3 * x + 3)。
[]で書くと4なのに、ポインタを使うと3になる。こんなややこしい仕様はバグの元。
だから要素番号は0から。
で、PHPは元々Perlので実装され、そのPerlが配列に関してはC言語の構文を真似たから、PHPの要素番号も0からになったと予想。
悪法でも何でもなく、親しめられてきた言語に合わせて、CやPerlなどからPHPに移ってきた人が混乱しないようにしただけ。
>>561
それは比較するときの話なのでは。x86やx64で言えば、0との比較はcmpしなくてもmovでZero Flagフラグが立つかどうかで分かるから。
# Core 2以降はマクロヒュージョンのおかげでcmpしようがしまいが同じだがな。
>>565
ソースが1文字増えたところでロスする時間は1マイクロ秒以下。それを気にするならソースの余計な空白やタブを取っ払う方がいい。
0567nobodyさん
2008/08/05(火) 03:28:28ID:???お前が、相当技術力があるのは認めるが、
なんで、そんな奴がこのレスにいるの?
phpなんて、単価が安い仕事ばっかだろ。
レスで書いているような内容が分かるなら、
phpよりも、かなり良い仕事が出来そうだが。
おれ何をしているかというと、昔SEをやっていたが今はシステム営業をやっていて、
自分のサイトを作るためのに個人的にphpをやっていたりする。
0568nobodyさん
2008/08/05(火) 03:36:45ID:???0570nobodyさん
2008/08/05(火) 08:58:09ID:???0574nobodyさん
2008/08/05(火) 09:32:42ID:???0577nobodyさん
2008/08/05(火) 09:47:55ID:???0580nobodyさん
2008/08/05(火) 10:07:34ID:???VB.NETは0からになったはず。
どうせほとんど別言語の体裁を取ってるし、
元々Option Base 0使ってる奴が大多数。
大差ないと思われwww
0581nobodyさん
2008/08/05(火) 10:14:01ID:???と、思ったもんだがな。
0582nobodyさん
2008/08/05(火) 12:59:08ID:???http://ja.wikipedia.org/wiki/%E7%B5%B1%E5%90%88%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83
もしかしてphpspot(笑)とか真に受けちゃってる?
■ このスレッドは過去ログ倉庫に格納されています