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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2010/09/18(土) 19:20:37ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 97
http://hibari.2ch.net/test/read.cgi/php/1279833891/

◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

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

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0567nobodyさん2010/10/01(金) 11:33:39ID:???
あいうえお を いいうえおにすることに対してそんなに突っ込まなくていいよ
0568nobodyさん2010/10/01(金) 11:35:37ID:???
初心者にヘタくそなコード教えるなよ・・・正規表現使うところか?
0569nobodyさん2010/10/01(金) 11:35:40ID:???
例題にマジになってる男の人って・・・
0570nobodyさん2010/10/01(金) 11:43:12ID:???
function foo($bar){
return 'いいうえお';
}
$a = 'あいうえお';
echo foo($a);
0571nobodyさん2010/10/01(金) 14:30:05ID:???
$_GETや$_POSTをチェックする意味って何?
0572nobodyさん2010/10/01(金) 14:39:42ID:???
postはそうそうないけどgetはパラメータいじれるだろ
0573nobodyさん2010/10/01(金) 14:40:08ID:???
>>572
お前に聞いてない
0574nobodyさん2010/10/01(金) 15:01:22ID:???
>そうそうない
その程度の認識だからPHPがゴミ扱いされるんだよ
0575nobodyさん2010/10/01(金) 15:07:51ID:???
>>572
そうじゃなくて、>>549-554の言うようにisset等でチェックする意味あるの?
$var=$_GET["var"] 等とした後に$varの内容を目的に応じてチェックするんじゃ
だめなの?
0576nobodyさん2010/10/01(金) 15:26:09ID:???
そこらへんまとめてクラスとymlでする俺には関係ない話だった
0577nobodyさん2010/10/01(金) 15:36:01ID:???
>>575
チェックしないと警告でるじゃん
てか、あらゆる入力(入力なしの場合も含む)を想定して
プログラムしないと、後々バグのすくつになる
0578nobodyさん2010/10/01(金) 16:02:36ID:???
自分の場合、
error_reporting(E_ALL | E_STRICT);
を設定して、あらゆる操作で一切の警告が出ないことが前提条件
0579nobodyさん2010/10/01(金) 16:12:42ID:???
>>577
$_GET["var"]が存在しないとき、
$var=$_GET["var"]
とすると警告出る?記憶にないんだが。
0580nobodyさん2010/10/01(金) 16:13:50ID:???
一つ前のレスにあるだろ
設定次第
0581nobodyさん2010/10/01(金) 16:16:28ID:???
$_GET['var']が存在しない場合もあるでしょ
その場合代入できるわけないでしょ
0582nobodyさん2010/10/01(金) 16:17:15ID:???
>>578
バージョン5.3使ってますって書いておけ
0583nobodyさん2010/10/01(金) 16:30:59ID:???
E_STRICTはphp5からだし
E_ALLはphp4にもある

それに$var=$_GET["var"]これでエラーが出る設定は
E_NOTICEを出力する場合だからE_ALLだけで十分
5.3とか関係ないな
0584nobodyさん2010/10/01(金) 16:39:55ID:???
$var=$_GET["var"]でエラーとなる件
これって、つまり$_GET["var"]が存在しないのに評価しようとしてWarningが出るってこと?
配列だからエラーになるの?
$var=$a($aは未定義)の場合もエラーになるの?
0585nobodyさん2010/10/01(金) 16:48:29ID:???
Notice: Undefined variable
0586nobodyさん2010/10/01(金) 17:56:49ID:???
>>584
先頭に
error_reporting(E_ALL);
つけてやればわかるだろ
まぁ予想通りの結果>>585になるが
0587nobodyさん2010/10/01(金) 18:08:33ID:???
>>586
PHP5.2じゃでねえよ
ちゃんとPHP5.3の環境で出ますって書け
0588nobodyさん2010/10/01(金) 18:10:31ID:???
一人痛い人が居るようですね
0589nobodyさん2010/10/01(金) 18:28:01ID:???
バージョン関係ないし
0590nobodyさん2010/10/01(金) 19:04:14ID:/wsXjKAq
一番厳格にするには error_reportingにE_ALL | E_STRICT | E_NOTICEと設定する事ですか?
0591nobodyさん2010/10/01(金) 19:17:48ID:???
>>590
E_ALL: サポートされる全てのエラーと警告。 E_STRICT レベルのエラーは除く。
0592nobodyさん2010/10/01(金) 19:40:37ID:???
>>566
単調な場合に最適なのを教えていただけないでしょうか
0593nobodyさん2010/10/01(金) 19:44:38ID:???
str_replace
0594nobodyさん2010/10/01(金) 19:48:17ID:???
ちょっと前にスレでも同じ質問でpreg_replaceの話題が出てたのにね
釣りとしか思えない
0595nobodyさん2010/10/01(金) 20:06:07ID:???
>>594
>>141のこと?
0596nobodyさん2010/10/01(金) 20:07:38ID:???
>>593
ありがとうございます
正規置換とで使い分けたらいいのかな?
0597nobodyさん2010/10/01(金) 20:10:43ID:???
>>592
過去ログを10回見ろ
0598nobodyさん2010/10/01(金) 20:17:46ID:???
過去ログを10回見るより>>593を一回見た方がよくね?
>>593は単純なprintもwhileで10回まわして表示するタイプ
0599nobodyさん2010/10/01(金) 20:21:01ID:???
>>593じゃなくて>>597だろ
0600nobodyさん2010/10/01(金) 21:19:30ID:???
単純な置換ならstr_replace、strposがいいって出てますよ
>>599
スレに張り付きすぎ少しゆとりを持て
0601nobodyさん2010/10/01(金) 21:21:30ID:???
例文が単純な置き換えだから単純な置き換えの質問にちまいない
ってどんだけ単純な頭なんだよ
0602nobodyさん2010/10/01(金) 21:55:01ID:???
顧客が説明した要件 : 関数に渡した変数をpreg_replace()っても呼び出し元は変わんない!不思議!
プロジェクトリーダーの理解 : Unicode修飾子が怪しくね?
アナリストのデザイン : 正規表現使うなカス
プログラマのコード : function foo($bar) { return 'いいうえお'; }
得られたサポート : 過去ログ10回読め

顧客が本当に必要だったもの : 参照渡し
0603nobodyさん2010/10/01(金) 22:01:40ID:???
全然上手いこと言ってないような気が
0604nobodyさん2010/10/01(金) 22:05:52ID:???
>>602
すぐに正しい回答が出てたのを故意に伏せてる辺りがざんねん
0605nobodyさん2010/10/01(金) 23:17:39ID:???
あんまおもしろくなかったが
スレ相応しいくだらないくだりを必死で考えたことは褒めてやろう
0606nobodyさん2010/10/02(土) 00:20:26ID:2C+2SXQ6
オープンソースとして公開されているPHPのシステムがあるのですが、
もうしばらくメンテナンスがされておりません。

それを使ってみたのですが、いくつか動かない個所を見つけました。
apacheのエラーログにエラーが残ってないので、スクリプトのエラー
はなくバグで動いていないかと思うのですが、こういったものの一般的な
デバッグはどのように行うのでしょうか?

PHPはほぼ初めてで、でバッギングツールがあるのかどうなのかもわかっていません。
0607nobodyさん2010/10/02(土) 00:34:52ID:???
PHPのエラーログってなかったっけ
0608nobodyさん2010/10/02(土) 00:49:00ID:???
>>606
デバッグはxdebugを使う
開発環境と連携するには
http://www.vkazoo.com/?p=260
0609nobodyさん2010/10/02(土) 03:18:46ID:???
>>606
設定次第でどこにでもエラーログを作れるので
必ずしもapacheのログにある訳ではない
あとそのオープンソースのって何?有名所のなら
ちゃんとコミュニティとかはあると思うけど・・・

>>608
別にxdebugじゃなくても良いけどな
デバッガなんて開発環境に合わせて選べば良いんじゃない?
0610nobodyさん2010/10/02(土) 06:50:18ID:???
>>606
ソース読めるならおかしいと思う辺りにデバッグ用のprint文とかを
入れてみるのが早い。
あぁ、PHP初めてでしたか
0611nobodyさん2010/10/02(土) 11:36:38ID:???
デバッグはprintよりvar_dumpのほうが
0612nobodyさん2010/10/02(土) 11:45:41ID:???
print_rでやってる人も多くね?
0613nobodyさん2010/10/02(土) 11:57:15ID:???
俺はprint_r派だけど状況によってvar_dump使うこともある
printはprint_rの書き間違いだと思うけど
0614nobodyさん2010/10/02(土) 12:10:07ID:???
オレオレprint_r超便利
0615nobodyさん2010/10/02(土) 12:13:19ID:???
値がfalseなのかnullなのか空白なのかを調べるときはvar_dumpだな
たいていはprint_rでやってるけど
ログに書き込むときに便利だし
0616nobodyさん2010/10/02(土) 12:42:53ID:???
function pr($var) {
echo '<pre>';
var_dump($var);
echo '</pre>';
}
0617nobodyさん2010/10/02(土) 13:36:21ID:???
手動デバッグは効率が悪い
0618nobodyさん2010/10/02(土) 14:34:56ID:???
デバッガー使いたいが
鯖で動かしていると無理だな
0619nobodyさん2010/10/02(土) 14:59:48ID:???
デバッガーの使い方がわからない
0620nobodyさん2010/10/02(土) 16:05:29ID:???
デバッガーにバグがあったら使えない
0621nobodyさん2010/10/02(土) 17:36:19ID:???
print_rはないな
var_dumpかvar_exportで2番目の引数をtrueにする
0622nobodyさん2010/10/02(土) 17:40:42ID:???
PHP使ったことないからしらんけど、
某大手家電メーカの情報部はみんなprint_r使ってるぞ。
(みんなっちゅうか教育でそう教えられるのかも知れんが

何かあるごとにprint_rみせて print_rみせて って聞こえるし
「すみません。ココが動かないんですけど」って新人の問いに print_r使えばいい
って言ってる。

ちなみに今そこの会社の人間に
「PHPのバグではまった」ってメール送ったら
「print_rで見ればいい 」 っていわれた。
0623nobodyさん2010/10/02(土) 18:00:31ID:???
>PHP使ったことないからしらんけど、

>「PHPのバグではまった」ってメール送ったら

矛盾してないか?
0624nobodyさん2010/10/02(土) 18:12:17ID:???
他のプラットフォーム上(SNSとか)で動かすもの作ってるとvar_dumpが吸収されちゃって見れないことあるから
エラー文字列をDBに保存して見てるわ
0625nobodyさん2010/10/02(土) 18:13:43ID:???
>>623
どういう返事が来るか試すためにメール送ってみただけよ
0626nobodyさん2010/10/02(土) 18:35:03ID:???
>>625策士wwwww
0627nobodyさん2010/10/02(土) 18:35:41ID:l4wTIWl0
URLをクリックでページ遷移&POSTでデータ渡しって可能ですか?
空白のある文字列をそのまま渡したいんですが、GETだと空白の所で途切れてしまうんです。
どうやればいいんでしょうか?
0628nobodyさん2010/10/02(土) 18:42:58ID:???
>>627
urlencode
06296272010/10/02(土) 18:55:08ID:l4wTIWl0
おお。ありがとうございます。
0630nobodyさん2010/10/02(土) 19:11:10ID:???
PHPで数百ステップ程度のコードなら何度か書いたことがあるのですが、(非オブジェクト指向)
次は人が書いたコードのデバッグにチャレンジしてみようと思っています。

PHPってCの用に頭から読んでいくのが一般的なのでしょうか?
0631nobodyさん2010/10/02(土) 19:41:48ID:???
頭からっていうか動く順じゃねえの
0632nobodyさん2010/10/02(土) 20:07:54ID:???
そんな読み方してたら最近のCMSのコード読む場合
何カ月かかるんだよ
0633nobodyさん2010/10/02(土) 20:15:19ID:???
632はどうやって読んでんの
0634nobodyさん2010/10/02(土) 20:17:02ID:???
PHP ステップ実行でググるといいよ
0635nobodyさん2010/10/02(土) 20:25:46ID:???
ってかPHPに頭なんてねえだろ
Cはmainから動くことが決まってるけど、PHPなんてどこから呼び出されるかわからん
0636nobodyさん2010/10/02(土) 20:39:32ID:???
phpも頭からだろ
0637nobodyさん2010/10/02(土) 20:53:14ID:???
あたまってどこかくわしく
0638nobodyさん2010/10/02(土) 21:48:54ID:???
リクエストされたスクリプト(例:index.html)の先頭
0639nobodyさん2010/10/02(土) 22:03:17ID:???
HTMLwwwwwwwwwww
0640nobodyさん2010/10/02(土) 22:10:28ID:???
>>638
どこからよばれるかわからないでしょ。
0641nobodyさん2010/10/02(土) 22:21:36ID:???
拡張子で判断するのはただの馬鹿

エントリポイントとなってるスクリプトの<?phpが先頭だろ
そこからおってけばどーとでもなる
0642nobodyさん2010/10/02(土) 22:32:23ID:???
例えばindex.htmlから読んでいっても、C言語と違って
全コードを網羅しているわけではないっしょ。

マジであほなの?
それともマジでわかってない?
0643nobodyさん2010/10/02(土) 22:39:52ID:???
拡張子で判断できないけど、今ここで.htmlを出すのはただのバカ。
0644nobodyさん2010/10/02(土) 22:41:05ID:???
網羅が何を指してるかはしらないが
一旦includeしてるファイルを読み込んだあとに
エントリポイントから順に実行してくだけだろ

それ以外での実行順序があるなら知りたいわw

ちなみにエントリポイント=mainという事を指してるわけじゃないからな?
0645nobodyさん2010/10/02(土) 22:46:23ID:???
環境によっては<?や<%や<?=だったりするから<?phpが先頭とは限らないけどな
と揚げ足を取ってみるテスト
0646nobodyさん2010/10/02(土) 23:31:14ID:???
search.phpってのがあるとかんがえてみたら?
0647nobodyさん2010/10/02(土) 23:57:04ID:???
このスレ読んでたらPHPの評価が悪い理由がよくわかった

扱う人のレベルが低すぎるんだな…
0648nobodyさん2010/10/03(日) 00:09:36ID:???
そりゃPHPは憧れプログラマホイホイだからな。
CとかPythonに挫折した連中の巣。
0649nobodyさん2010/10/03(日) 00:19:15ID:???
挫折した連中が作った言語がWebの中で一番使われてるとか凄いな
PHPの中身がCとC++なのに挫折したのに作れるんだな
0650nobodyさん2010/10/03(日) 00:20:45ID:???
挫折した連中の方が多いから人数が多いんでしょ

あと一番使われてるってどこの数字?
明らかに数でいえばPerlだろ。
0651nobodyさん2010/10/03(日) 00:23:01ID:???
PerlはLinuxの標準スクリプト言語(の一つ)だから多い
GNOMEとかPerl無いと動かないし
0652nobodyさん2010/10/03(日) 00:24:21ID:???
制作言語が上位言語とどういう関係?

日本語がわかりづらくてどういう意味かわからないけど、
それで言ったらアセンブリは全プログラマができるってこと?
0653nobodyさん2010/10/03(日) 00:29:49ID:???
「挫折した連中が作った」じゃなくて「挫折した連中が使ってる」だろ
使ってる、なんて断言できるもんでもないと思うけど

まあ、簡単だしPHP。
0654nobodyさん2010/10/03(日) 00:31:45ID:???
ああ ごめん。俺も読み違えてた。
C言語が扱える時点で挫折してない連中が作ってるだろ

結局苦労して難しいことやってるのはそのCプログラマであって
PHPプログラマはプログラマって呼べるかどうかも怪しい
0655nobodyさん2010/10/03(日) 00:43:45ID:???
言語の習得レベルなんてどれも一緒だろ?
なんかC言語にコンプレックスがあるやつがいるみたいだけど。
0656nobodyさん2010/10/03(日) 00:44:50ID:???
まあ、Cは書きやすくなったアセンブリだし・・・
0657nobodyさん2010/10/03(日) 00:58:15ID:???
>>654
それをいってる時点で、他の言語経験がないのまるだし
PHPがいかに楽な機能が揃っているか
0658nobodyさん2010/10/03(日) 01:07:08ID:???
>>657
それは他の言語も同じだろ。オープンソースでなんでも揃う。
大抵のプロジェクトでは独自の便利な部品持ってるし。
言語よりも、「層」を理解した方がいいぞ。
0659nobodyさん2010/10/03(日) 01:12:02ID:???
オープンソースっっっっっっw
0660nobodyさん2010/10/03(日) 01:14:07ID:???
オープンソース嫌ならIISのようなプロプライエタリ使えばいいじゃん
0661nobodyさん2010/10/03(日) 01:16:18ID:???
PHPプログラマが低レベル加減がわかるスレだな
PHPでつくったらなんでもオープンソースだと思ってるのかこいつ・・

こいつがかいたコード危ないな・・
0662nobodyさん2010/10/03(日) 01:18:20ID:???
PHPプログラマは自分がおかれている環境をわかっていないといういい例
0663nobodyさん2010/10/03(日) 01:19:59ID:???
アホはスルーしろよスレが荒れるだけだえろアホ共
0664nobodyさん2010/10/03(日) 01:20:56ID:???
暇なんだからアホの相手くらいさせてくれてもいいだろ

こいつの知識にもなるんだし
むだかもしれんけど
0665nobodyさん2010/10/03(日) 01:53:25ID:???
PHP(笑)って以前から言われてることじゃん

今さら議論することでもないな
0666nobodyさん2010/10/03(日) 02:13:59ID:???
いまだにc言語のcgiに拘ってる会社もあるぞ
■ このスレッドは過去ログ倉庫に格納されています