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

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

■ このスレッドは過去ログ倉庫に格納されています
0001 忍法帖【Lv=40,xxxPT】 2011/09/29(木) 02:56:06.94ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

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

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

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

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0671nobodyさん2011/10/21(金) 19:54:24.52ID:???
>>667
http://www.php.net/manual/ja/language.types.string.php
の中ほど「文字列への文字単位のアクセスと修正」を読め
あとID出せ
0672nobodyさん2011/10/21(金) 20:10:58.69ID:???
>>669のであってるよ。
'abc'を数値として評価すると0になるという話。んで、これはそういう仕様。
$test[0]の結果が't'となることが理解できないのなら>>671

>>670は頭がおかしい
0673nobodyさん2011/10/21(金) 20:45:49.21ID:???
>>672
ムキになんなよw
「とかそんな感じ 」みたいな曖昧な回答してんじゃねぇ、ってことだよ
0674nobodyさん2011/10/21(金) 21:29:13.44ID:???
確かにわかんない人には不親切だねw
0675672 != 6692011/10/21(金) 23:25:23.91ID:???
>>673
それを>>670で書いてれば最後の行を書いてなかったと思う
06766692011/10/21(金) 23:28:32.72ID:???
直前にID出せよみたいなレスがあったから
ID出してないしちょっと濁した回答にしたんだが
0677nobodyさん2011/10/21(金) 23:41:05.74ID:???
関数がものすごく多くて気が滅入りそうなんだが
phpで飯食ってる奴はどれくらい覚えてるもんなの?

0678nobodyさん2011/10/21(金) 23:44:20.55ID:???
見苦しくなるからもうやめておけ
別に責めているわけじゃない
どうでもいい
0679nobodyさん2011/10/21(金) 23:58:08.27ID:???
>>677
>>678
0680nobodyさん2011/10/22(土) 00:11:37.27ID:???
だな
0681nobodyさん2011/10/22(土) 00:49:28.90ID:???
そうはいかん。この恨みは一生忘れない。
0682nobodyさん2011/10/22(土) 02:39:50.63ID:???
回答もらえないからって訳わからんことつぶやくのはちょっと違うと思うよ
0683nobodyさん2011/10/22(土) 03:01:26.76ID:???
ちょっとしか違わないんなら気にすんな
これが俺様の生き方だ
0684nobodyさん2011/10/22(土) 03:56:02.35ID:f9N011rI
インスタンスを作成する時、そのクラスが無い場合は__autoload()が呼ばれて、外部クラスファイルを読み込む事が出来ますよね
同じように、関数を読み込む時、その関数が無い時、別ファイルをincludeして外部ファイルに記述してある関数を呼び出すにはどうしたらよいのでしょうか
0685nobodyさん2011/10/22(土) 09:30:15.00ID:???
array_mapに渡す関数に引き数渡すのどうやるのでしょうか
0686nobodyさん2011/10/22(土) 09:54:03.65ID:???
>>685
>>1
0687nobodyさん2011/10/22(土) 09:55:53.68ID:???
>>685
>>1
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
0688nobodyさん2011/10/22(土) 18:32:40.58ID:vHH0b5um
685です
大変しつれいしました
0689nobodyさん2011/10/22(土) 19:09:48.59ID:FsQQxDVp
DBテーブルAを操作するclass Aと、
DBテーブルBを操作するclass Bがあります。
コンストラクトで共通のデータベースに接続する処理をいれているのですが、
スクリプト中でAとB両方使う場合、データベース接続処理が2回入り無駄になります。
うまい解決策を教えてください。
0690nobodyさん2011/10/22(土) 20:16:25.32ID:???
お安い御用です。
06916692011/10/22(土) 20:22:13.79ID:???
>>689
DB接続というか問い合わせ関連のクラスを作る
0692nobodyさん2011/10/22(土) 20:22:43.75ID:???
名前消し忘れたがな(´・ω・`)
06936892011/10/22(土) 20:25:06.70ID:FsQQxDVp
>>691
ありがとうございます。
でもそれだとラッパーをわざわざ作るようでどうも非効率かなぁと・・・
0694nobodyさん2011/10/22(土) 20:37:59.36ID:???
>>693
動作の効率を重視するならクラスなんか使うなよ
0695nobodyさん2011/10/22(土) 20:44:04.99ID:???
意味不明だから黙っとけ素人
0696nobodyさん2011/10/22(土) 20:54:29.09ID:???
ならお前が答えてやれよ
クラスなどつかわず手続き型で組むのが最も動作効率が良いのはプログラミングの常識
0697nobodyさん2011/10/22(土) 21:10:54.87ID:???
ラッパー作るのが非効率っていってるのに勝手に暴走してんなよks
0698nobodyさん2011/10/22(土) 21:26:49.17ID:???
>>696
動作効率だけは確かにいいよな
クラスは無駄な処理大杉
0699nobodyさん2011/10/22(土) 21:31:28.49ID:???
singletonパターンがなんかphpには合わないみたいに公式には書いてるけど
こういう時に使うものではないのかな
0700nobodyさん2011/10/22(土) 22:31:12.05ID:???
singletonは関係ありそうで関係ないような
0701nobodyさん2011/10/22(土) 22:46:43.00ID:???
シングルトソってDB接続以外に無理して使うとこある?
0702nobodyさん2011/10/22(土) 22:49:50.52ID:???
>>697
クラスで充分非効率なのにラッパー1個ごときで非効率もクソもないだろ馬鹿
0703nobodyさん2011/10/22(土) 23:42:53.44ID:???
データベース接続処理が2回入りって、別にいいんじゃねーのと。
使う直前につなぐ、終わったらすぐ切る。
0704nobodyさん2011/10/22(土) 23:48:34.52ID:???
シングルトソって言いたいだけだけだから、DB接続で無理して使ってるんだけど、
他にも使ってたりしないと、煽られたときときかに、キリッってできないよな
0705nobodyさん2011/10/23(日) 00:02:55.44ID:???
>>702
バカはお前だ
何をもって「非効率」といってるんだ馬鹿
お前はmysql_connect使うだけのものを
function connect()とかつくってかぶせる阿呆だろ
0706nobodyさん2011/10/23(日) 00:21:27.53ID:???
window7 64bitでapache2.2(32bit) php5.3.8(32bit)は動かせますか?
PC購入で64bitのほうが欲しいのですが動かせない場合は32bitのほうを買います
07077062011/10/23(日) 00:21:53.84ID:46NA/uhd
id出し忘れました
0708nobodyさん2011/10/23(日) 00:55:28.77ID:???
>>705
阿呆はお前だ
何をもって「非効率」じゃないといってるんだ阿呆
お前はmysql_connect使うだけのものを
class connectとかつくってかぶせる馬鹿だろ
0709nobodyさん2011/10/23(日) 01:27:06.66ID:???
オウム返しするやつの反論はやっぱり低レベルだな
何を言いたいのか全く意味がわからんw
0710nobodyさん2011/10/23(日) 01:32:28.10ID:???
全く意味が分からんのなら高レベルすぎるって可能性もあるなw
0711nobodyさん2011/10/23(日) 01:34:07.14ID:???
class connectをつくってかぶせるとか意味不
0712nobodyさん2011/10/23(日) 01:43:59.33ID:???
オウム返ししないやつの反論はやっぱり高レベルだな
何を言いたいのか凄く意味がわかるんw
0713nobodyさん2011/10/23(日) 01:47:05.90ID:???
>>689
質問にまともに答えてもらえなかったからってID消してムキになんなよw
下らねぇ質問には下らねぇ回答しか付かないのさ
0714nobodyさん2011/10/23(日) 02:03:41.77ID:???
馬鹿丸出しでムキになってんのは1人だろ
0715nobodyさん2011/10/23(日) 02:30:57.21ID:???
そうだな。お前一人だけだな。
0716nobodyさん2011/10/23(日) 11:52:53.69ID:???
おはよぉ〜

 PHPプログラマ〜のお姉さんだよぉ〜
 今日はどんな質問が残ってるのかな?
 暇だから質問に答えるよぉ〜
0717nobodyさん2011/10/23(日) 14:30:36.06ID:???
相変わらずここも知恵袋のほうも同じ奴が回答していると思われるからレベル変わらないな
0718nobodyさん2011/10/23(日) 15:52:41.94ID:???
質問の意味を理解しないで適当な回答するアホが多すぎる
0719nobodyさん2011/10/23(日) 15:56:16.10ID:???
知恵袋によくある珍回答

・ggrks
・こっちで聞いてみた方がいいかも

分らないなら回答すんなよ^^
0720nobodyさん2011/10/23(日) 15:57:52.69ID:???
>>689
基底クラスに持たせればいいよ。
0721nobodyさん2011/10/23(日) 16:38:25.27ID:???
基底クラスに持たせても結局インスタンス2つ作成することになるし変わんないよ
0722nobodyさん2011/10/23(日) 16:48:18.48ID:???
なんで知恵袋なんて見てるの?
あそこはググって引っ掛かってもスルーが基本だけど
0723nobodyさん2011/10/23(日) 19:55:07.95ID:sva3+2fg
var_dump(new PDO($dsn));
としたとき
object(PDO)#5 (0) { }
って出ますが
#5ってなんですか?
0724nobodyさん2011/10/23(日) 20:09:08.10ID:???
オブジェクトのハンドル(ID番号)
http://php.net/manual/ja/migration5.oop.php
07257232011/10/23(日) 20:45:52.40ID:sva3+2fg
>>724
ありがとうございます
そのページ読んできます
0726nobodyさん2011/10/23(日) 23:18:25.28ID:???
>>723
なんでスルーするの?
親にそう教わったの?w
0727nobodyさん2011/10/23(日) 23:23:50.61ID:???
今日も患者が湧いたか
0728nobodyさん2011/10/24(月) 00:22:39.21ID:???
>>726
0729nobodyさん2011/10/24(月) 01:22:06.55ID:???
>>726
むしろ1行目だけで納得するほうがクソなこともわからないのか
0730nobodyさん2011/10/24(月) 01:38:11.72ID:???
説明とソース元が貼ってあればソース元も読むべきだろ・・・
スルーとは全然違うじゃないか
0731nobodyさん2011/10/24(月) 01:44:27.92ID:???
プログラマじゃない人間が適当にあおろうとしてもダメな好例
0732nobodyさん2011/10/24(月) 09:14:37.58ID:???
>>729-730
>>726の「>>723」は「>>722」の間違いだよ
めんどくさいから訂正しなかった
0733nobodyさん2011/10/24(月) 12:31:43.10ID:Cx4UHjWV
test
0734nobodyさん2011/10/24(月) 12:32:20.32ID:Cx4UHjWV
クラスはインスタンスさえ生成しなければリソースを喰う事はありませんよね?
クラス定義だけ大量にあって実際インスタンスを生成したり静的に参照することがあまり無いので少し不安に思うのですが
0735nobodyさん2011/10/24(月) 13:17:39.48ID:IMcjICHD
再帰処理で2階層目までとか指定したいのですがどうすればよいでしょうか?
0736nobodyさん2011/10/24(月) 13:26:44.32ID:???
現在の階層(階層増す事にインクリメント)と
指定階層を引数に入れればいいんじゃないの。

でも本当にそれ再帰必要なの?
0737nobodyさん2011/10/24(月) 13:31:34.39ID:???
>>732
そんなんだからシンタックスエラー出しちゃうんだよ
0738nobodyさん2011/10/24(月) 13:36:33.06ID:IMcjICHD
>>736
ああ引数で指定すればよかったんですね
ありがとうございました。
0739nobodyさん2011/10/24(月) 13:57:06.16ID:???
>>734=>>735
ID変えて質問ご苦労
0740nobodyさん2011/10/24(月) 14:01:36.56ID:Cx4UHjWV
不毛ですよね
0741nobodyさん2011/10/24(月) 14:28:20.92ID:???
>>734
クラス定義するだけで当然メモリを消費する
http://codepad.org/jO9dWh8Y

が必要だからクラスを用意するんだし気にするほどでもない
どうしてもと言うのならオートローダーで使うクラスだけ読み込む
0742nobodyさん2011/10/24(月) 14:32:30.64ID:2GJ+QKKa
UTC+3の時刻を表示する方法を伝授してください
0743nobodyさん2011/10/24(月) 14:38:20.76ID:Cx4UHjWV
>>741
ありがとうございます
0744nobodyさん2011/10/24(月) 14:43:54.97ID:???
>>742
echo date(DATE_RFC822,strtotime('UTC +3'));
0745nobodyさん2011/10/24(月) 14:46:24.84ID:2GJ+QKKa
>>744
ありがとうございます
もしよろしければDateTimeを使ったケースもご教示お願いできませんか
0746nobodyさん2011/10/24(月) 14:48:36.00ID:2GJ+QKKa
自己解決しました
0747nobodyさん2011/10/24(月) 18:10:46.93ID:???
自己解決はいかんな
0748nobodyさん2011/10/24(月) 19:24:32.27ID:DURSDYdt
cache_liteについて質問です
cleanでキャッシュを削除できるようなのですが、hashedDirectoryLevelを1以上に設定すると削除してくれません
うまく削除する方法はないでしょうか?
0749nobodyさん2011/10/24(月) 19:28:14.22ID:???
cleanのオプションにもhashedDirectoryLevelを設定したらうまく削除することが出来ました

よく確認しないで書き込んでしまって申し訳ないです
0750nobodyさん2011/10/24(月) 19:35:32.94ID:IROYR4Ps
下記のプログラムをもっと簡略化して書くことはできますか?
よろしくお願いします。

<?php
$Rprice[0] = null;
$Rprice[1] = null;
$A = 0;
$show = 0;

if($Rprice[0] == $A or $Rprice[1] == $A){
if($A !== NULL and $A !== 0){
if($A < 10000){$show = $A-200;echo '価格,'.$show.',';}
}
?>
0751nobodyさん2011/10/24(月) 20:59:16.20ID:???
$Aが200未満のときはそれでいいの?
0752nobodyさん2011/10/24(月) 21:27:49.14ID:???
if (($Rprice[0] === $A or $Rprice[1] === $A) and ($A > 0 and $A < 10000))
0753nobodyさん2011/10/24(月) 22:22:22.70ID:???
$Rprice = array(null ,null);
0754nobodyさん2011/10/24(月) 22:56:25.00ID:nLfKmno2
質問です

正規表現で([a-zA-Z0-9]+)にハイフン(-)とコロン(:)とセミコロン(;)を付け足したいのですが
([a-zA-Z0-9-:;]+)じゃダメでした。どうしたら良いでしょうか?
0755nobodyさん2011/10/24(月) 22:59:07.30ID:???
>>754
正規表現に見えるが
0756nobodyさん2011/10/24(月) 23:10:50.60ID:nLfKmno2
>>754補足です。

例えば

$a = "+++abc123-:;+++";

$a = preg_replace("/([a-zA-Z0-9]+)/","hoge",$a);

echo $a;

これだと結果が「+++hoge-:;+++」になってしまいますが
実際は「+++hoge+++」と結果が出るようにしたいです。
よろしくお願いします。
0757nobodyさん2011/10/24(月) 23:13:47.88ID:???
>>756
正規表現 Part8
http://hibari.2ch.net/test/read.cgi/tech/1301067486/
0758nobodyさん2011/10/24(月) 23:17:44.67ID:nLfKmno2
>>757
ども、ありがと。
0759nobodyさん2011/10/24(月) 23:24:36.34ID:???
>>754
ハイフンを先頭か末尾に移動させる。
0-9-:
この部分で違和感を感じるべき。
0760nobodyさん2011/10/24(月) 23:59:31.15ID:???
\-にすればいいだけだろ
0761nobodyさん2011/10/25(火) 00:12:47.00ID:jz8uX3Je
>>754
[]の中で最後に-を書くときは¥いりません
[a-z0-9;:-]は正しいパターンですが[a-z0-9-;:]は間違ってます
正しく書くなら[a-z0-9\-::]でしょう
基本的にはハイフンを最後に書いてもちゃんと¥をつけるのがバグをなくすためい現場で行われています
0762nobodyさん@PHP愛して10周年2011/10/25(火) 00:19:43.62ID:jz8uX3Je
kotehan
0763nobodyさん2011/10/25(火) 05:37:52.79ID:NHilLcCk
【OS名】WiindowsXP-Pro(SP2) 【PHPのバージョン】PHP5.2.6
【連携ソフトウェア】Apache2.2 【ブラウザ】Firefox3.6.23

WebにあるBBSサンプルをApacheのlocalhostでそのまま動作させたところ
エラーが出て困ってます。
出典: http://1cc.jp/trykis
使ったコード: ttp://phpspot.net/php/html/tutorialbbs.phpss

サイトの通りbbs.phpと名付けて起動したところ
 Notice: Undefined index: mode in bbs.php on line 11
と出ました。 対象の行は if ($_POST["mode"] == "write") { です。

この状態で投稿ボタンを押すと
 Notice: Undefined variable: lines in bbs.php on line 20
と出ました。 対象の行は  for ($i=0;$i<count($lines);$i++) { です。

また「リロード」リンクをクリックすると
 Notice: Undefined variable: date in bbs.php on line 57
と出ました。 対象の行は $l_name - $l_message <$date><br> です。

出典ははphpspotという信頼できそうなサイトなんですが、元コードのどこに
問題があるのでしょうか?
07647632011/10/25(火) 05:41:48.71ID:???
すいません。出典の短縮URLが間違ってました。
正しくは http://1cc.jp/hgogho です。
0765nobodyさん2011/10/25(火) 05:55:27.90ID:???
それらはみな、コードが雑だから。
phpspotは一見よさそうに見えるけど、すげえだめだから。
理由はくさるほどあるが、省く。
繰り返す。すげえだめだから、見てはいけない。

php関係なく、SEO対策とかを勉強したいなら見てもいい。
0766nobodyさん2011/10/25(火) 06:32:09.46ID:???
なんか心配になったから書いとくよ。

安全性の問題
・キーの存在チェックをしていない
・name または message にカンマが含まれると意図しない出力になる
・サニタイジングを行っていない
・排他制御がない

一般的なコーディングと異なることによる速度低下
・ループの外に出せるcountをそのままにしている
・$i++じゃなくて++$i(この辺はまさにそのphpspotでも記載されていたと思うが)
・そもそもforeach
・ファイルの先頭に入れるのではなく、末尾にしたほうがI/O減る。
 この場合、forで末尾から出力するか、array_reverse→foreach

少なくとも上記の問題があるコード。
0767nobodyさん2011/10/25(火) 10:48:22.83ID:???
>>764
イチイチURLを短縮しなくてもいいよ
みないからそういうの
0768nobodyさん2011/10/25(火) 10:54:10.52ID:???
いちいち見ない宣言は要らない
0769nobodyさん2011/10/25(火) 10:55:13.76ID:???
>>768=質問者
0770nobodyさん2011/10/25(火) 10:59:06.92ID:???
同意。
質問するときに短縮URLなんて使うのは頭が狂ってる。
■ このスレッドは過去ログ倉庫に格納されています