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

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

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

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

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0449nobodyさん2007/08/17(金) 12:49:32ID:???
>>445
これはひどい
0450nobodyさん2007/08/17(金) 13:10:29ID:???
>>448

偉そうに言ってる>>447だが、>>445も文法的に
間違うようなバカなので(本人は、間違ってないと思ってる)、
そいつの言うこと聞いたらダメだよ。
0451nobodyさん2007/08/17(金) 13:24:47ID:???
>>445
せめて === で比較しろよ
0452nobodyさん2007/08/17(金) 13:30:39ID:???
===使ったからと言ってなんともならない
0453nobodyさん2007/08/17(金) 13:44:42ID:???
>>445
なにやってんのこいつ
0454nobodyさん2007/08/17(金) 13:51:35ID:???
>>>444
if(ctype_digit(mb_strcut($txt,0,1)){}
0455nobodyさん2007/08/17(金) 14:31:28ID:???
>>444
if(is_numeric($txt[0])){}
0456nobodyさん2007/08/17(金) 14:46:15ID:???
>>453
ああ、ごめん知識がたりなかったよ。
君のすばらしいコードで解決してくれないか?
0457nobodyさん2007/08/17(金) 14:53:07ID:???
if(is_numeric(substr($txt, 0, 1))) {}
0458nobodyさん2007/08/17(金) 14:53:13ID:???
>>456
>>455で解決済み
0459nobodyさん2007/08/17(金) 14:57:55ID:???
しかし>>445はひでーなw
0460nobodyさん2007/08/17(金) 15:08:00ID:???
455が奇麗だよね
0461nobodyさん2007/08/17(金) 15:12:53ID:???
>>445は素人プログラマー
プロは↓こう
if (substr($txt, 0, 1) == 0) {}
else if (substr($txt, 0, 1) == 1) {}
else if (substr($txt, 0, 1) == 2) {}
else if (substr($txt, 0, 1) == 3) {}
else if (substr($txt, 0, 1) == 4) {}
else if (substr($txt, 0, 1) == 5) {}
else if (substr($txt, 0, 1) == 6) {}
else if (substr($txt, 0, 1) == 7) {}
else if (substr($txt, 0, 1) == 8) {}
else if (substr($txt, 0, 1) == 9) {}
0462nobodyさん2007/08/17(金) 15:18:55ID:???
>>461
0463nobodyさん2007/08/17(金) 15:32:34ID:???
substr($txt, 0, 1) == 0
だと普通の文字にもマッチするよ
数字と文字列との比較は数字以外の文字は0として扱われる
substr($txt, 0, 1) == "0"
ならおk
0464nobodyさん2007/08/17(金) 16:22:51ID:???
それ以前に何度もsubstrかましてんなよ。
0465nobodyさん2007/08/17(金) 17:32:33ID:???
ほんとPHPユーザーは言語が適当なせいでいろいろと適当っすね
数字の比較なら型の比較も行う===演算子使ってください
0466nobodyさん2007/08/17(金) 17:47:51ID:???
質問は下らなくないが回答が下らないw
0467nobodyさん2007/08/17(金) 18:01:33ID:???
is_numericとctype_digitって何が違うのさ
0468nobodyさん2007/08/17(金) 18:11:24ID:???
>>467
var_dump(ctype_digit("-1"));
var_dump(is_numeric("-1"));
 ↓
bool(false)
bool(true)
0469nobodyさん2007/08/17(金) 18:19:28ID:???
>>467
is_numericは
変数が数字または数値文字列であるかを調べる(少数点/符号等OK)
ctype_digitは
与えられた文字列のすべての文字が 数字であるかどうかを調べる(少数点/符号等NG)

ついでに
is_intは
与えられた変数が整数かどうかを調べる

マニュアルくらい読め
0470nobodyさん2007/08/17(金) 18:56:27ID:???
>>467は>>466の期待に応えるべく下らない質問をしたんだと予想
0471nobodyさん2007/08/17(金) 19:23:08ID:???
【PHP】下らねぇ質問はここに書き込みやがれ 52
【PHP】下らねぇ回答はここに書き込みやがれ 52

後者のほうが似合ってるな
0472nobodyさん2007/08/17(金) 20:08:05ID:???
昨日のキチガイといい今日といいレベル低杉w
0473nobodyさん2007/08/17(金) 20:13:02ID:???
はいはい、そうやって上に立った気になっていないと自我を保てない程現実が貧困なんでちゅね^^
0474nobodyさん2007/08/17(金) 20:25:13ID:???
>>473
>>473
0475nobodyさん2007/08/17(金) 20:33:47ID:???
ファイルポインタを一行下す方法はないかな?
fgetsとかで動かすしかないか
0476質問2007/08/17(金) 20:51:59ID:enhPQ2hv
apacheインストールの後、PHPをインストールしましたが、
ルートディレクトリが変更できません

c:\WINDOWSにあるphp.iniを
doc_root = "c:/home/htdocs"
と変えたのにも関わらず、ルートディレクトリ(http://localhost/)は
C:\Program Files\Apache Group\Apache\htdocs
のアパッチのままです

この他に変えるべきところはあるでしょうか?
親切な人お願いです

OS:XP Pro SP 2
apache_1.3.27-win32-x86-no_src.msi
php-4.3.0-Win32.zip
0477nobodyさん2007/08/17(金) 21:01:24ID:???
lol
0478nobodyさん2007/08/17(金) 21:02:49ID:???
>>475
fgetsが一番簡単だろうね。
>>476
httpd.confで設定。
0479nobodyさん2007/08/17(金) 21:05:20ID:???
なんでPHPとルートディレクトリが関係あると思ったの?
0480nobodyさん2007/08/17(金) 21:05:47ID:???
ありがとうございます。やっぱりfgetsですか。
04814762007/08/17(金) 21:15:07ID:enhPQ2hv
>>478 さん
すばやい回答 感謝です!

\Apache Group\Apache\conf\httpd.conf
の
DocumentRoot = ...
<Directory ... >
を変更したら、できましたっ☆
どうもです(^▽^)/

>>479 さん
言われて見ればそうですねぇ
php.iniにdoc_rootってあったんで、
それにこだわり過ぎてました
0482nobodyさん2007/08/17(金) 23:29:43ID:iaQQurNy
テキストフィールドで入力された文字列を
PHP側でバイト数チェックしたいんですがどのような方法がありますか?
0483nobodyさん2007/08/17(金) 23:36:38ID:???
strlen
0484nobodyさん2007/08/18(土) 01:58:19ID:???
mb_ strlen
0485nobodyさん2007/08/18(土) 02:25:21ID:???
>>484
それ、バイト数と違う
0486nobodyさん2007/08/18(土) 02:50:39ID:kiwa8Qsa
>>485
元の質問者がテキストフィールドって言っているんだから、それでいいだろw
0487nobodyさん2007/08/18(土) 03:02:17ID:???
元の質問者がバイト数って言ってんのはどうなるんだw
0488nobodyさん2007/08/18(土) 03:56:25ID:???
1文字あたりのバイト数を積算すりゃいいじゃん
04894872007/08/18(土) 07:08:47ID:???
>>488
そういうことか、勘違いしてた。ゴメン。
0490nobodyさん2007/08/18(土) 08:51:51ID:???
配列の中のとある項目で配列をまとめたいのですが、どのようにするのが効率がいいでしょうか?

掲示板のDBからの結果が以下配列に入っています。
user_id ユーザID, posts 投稿数
$array = array( 0 => array('user_id' =>1, 'posts' => 2),
1 => array('user_id' =>2, 'posts' => 10), ...)

投稿数の多い順に並べ、投稿数が同じ場合は、そこにユーザIDを並べていく

こう書くと早い、わかりやすい、DBで取得時にこうしろ等よろしくお願いします。
0491nobodyさん2007/08/18(土) 09:04:24ID:???
ソートくらいSQLの段階でやればいいじゃん
あと何でテンプレくらい読まないのかね
0492nobodyさん2007/08/18(土) 09:13:11ID:???
>>491
いや、だからそのSQLのやり方を聞いているのですが。
04934902007/08/18(土) 09:21:32ID:abpL+5co
))492は、偽者です。
テンプレみなくてすみません

SQLのpostsによるソートは終わっているものとして下さい

04944902007/08/18(土) 09:37:27ID:kiwa8Qsa
>>492->>493の方は、私ではありません。

>>491
レスありがとうございます。
すみません。テンプレは読んだのですが、SQLで実行するかarray関数で並べ替えるかで考えています。

どちらの方が正しい、こちらの方がパフォーマンスがいいでしょうか?
よろしくお願いします。
0495nobodyさん2007/08/18(土) 10:19:11ID:???
>>494
普通はSQLでやる。その方が数倍効率がいい。
それをPHPでやるのはよほど特殊な事情がある場合くらい。
0496nobodyさん2007/08/18(土) 11:01:11ID:???
SQL使わないならファイルベースで突っ込んどくだけで十分
04974902007/08/18(土) 11:55:13ID:kiwa8Qsa
>>495>>496
レスありがとうございます。
件数が多いのでパフォーマンスを心配していたのですが、
SQLのorder byでやってみます。
ありがとうございました。
0498nobodyさん2007/08/18(土) 11:58:38ID:???
おいおいw
0499nobodyさん2007/08/18(土) 13:36:58ID:???
わざと自演しているやつがいるな
0500nobodyさん2007/08/18(土) 13:44:03ID:???
そりゃ自演する時はわざとするだろ
0501nobodyさん2007/08/18(土) 13:56:22ID:???
ID出さないとこうなる、ということで
0502nobodyさん2007/08/18(土) 20:31:46ID:???
掲示板とかにある
一定以上のレスだと [1][2]とかページリンクどうやって作ればいいんですか?
0503nobodyさん2007/08/18(土) 20:32:54ID:???
ま た お ま え か

そんくらい自分で考えろボケ
0504nobodyさん2007/08/18(土) 21:03:23ID:???
PEAR::Pager使えばいいじゃない
0505nobodyさん2007/08/18(土) 21:20:38ID:???
そんくらい自分で考えるかソース読むくらいしないとね
つーか思いつくだろそんくらい
0506nobodyさん2007/08/18(土) 21:44:24ID:???
さすがに、調べればすぐ分かる事や誰でも思いつく事を聞かれてはね・・。
>>1すら見てなさそうだし。
0507nobodyさん2007/08/18(土) 21:48:05ID:???
クダスレなんだから、回答する気がないならレスするなよw

>>502
[1][2]のリンクだと、<a href="/1.html">[1]</a><a href="/2.html">[2]</a>とすれば可能です。
あとは、hrefのリンクの部分は必要に応じて変更して下さい。
0508nobodyさん2007/08/18(土) 22:36:01ID:???
エーッ!!
0509nobodyさん2007/08/18(土) 22:45:58ID:???
>>507
秀逸すぐる
0510nobodyさん2007/08/18(土) 23:26:57ID:???
>>507
さては本職だな
0511nobodyさん2007/08/18(土) 23:48:15ID:???
ひさしぶりに下スレでなごんだ(´ω`)
0512nobodyさん2007/08/18(土) 23:54:12ID:???
>>507
そのとおりだよな。サーバの負荷を考えれば別プログラムで静的HTMLを吐き出すのが定石。
0513nobodyさん2007/08/18(土) 23:54:15ID:???
なごまねえよキメエな殴りたくなる顔だわwwwwwwwww
0514nobodyさん2007/08/18(土) 23:56:55ID:???
エスパー乙
0515nobodyさん2007/08/18(土) 23:57:19ID:???
>>512
それはある意味正論だな
けど動的に吐き出せないんなら意味ねー
0516nobodyさん2007/08/19(日) 00:19:06ID:???
(´ω`)<僕はログが増える度に手書きでリンク修正している
0517nobodyさん2007/08/19(日) 00:26:01ID:???
すっごい廃人。
誰でも一度は考えたことがあるだろうけど。
0518nobodyさん2007/08/19(日) 00:39:17ID:???
>>516
スゲー笑った
0519nobodyさん2007/08/19(日) 01:03:49ID:???
昔は小規模なチャットサイトとかそうだったよな。
「24時間以内にアカウントを発行します」とかいって
リーマンが家に帰ってから手動でアカウント作って送ってたんだろうな
0520nobodyさん2007/08/19(日) 01:08:51ID:???
今でもそれが普通だろ
お前どんなブルジョワだよ
0521nobodyさん2007/08/19(日) 01:40:34ID:???
いやいや普通、自動でやるだろw
0522nobodyさん2007/08/19(日) 03:33:17ID:3pgnVbVO
Division by zero
というエラーがログに残ります。
0を割っているということが原因なのはわかってるんですが、
大部分のソースを
if( $num != 0 ){
割る処理;
}else{
割らない処理;
}

として修正していくのが結構つらいです。
何か簡単な修正方法ないでしょうか。
0523nobodyさん2007/08/19(日) 03:58:26ID:???
0にしない
0524nobodyさん2007/08/19(日) 10:42:57ID:???
除算じゃなくて乗算でやればいいんじゃないの?

http://ja.wikipedia.org/wiki/%E3%82%BC%E3%83%AD%E9%99%A4%E7%AE%97
数学嫌いの俺には何がなんだかさっぱりだ
0525nobodyさん2007/08/19(日) 11:02:52ID:???
乗算ならできるというのは驚異的で革新的な理論だ
0526nobodyさん2007/08/19(日) 11:19:00ID:???
頭使えば除算でできることは工夫すれば乗算でもできるだろ。
答えはもちろん同一にはならないが。
0527nobodyさん2007/08/19(日) 12:00:08ID:???
ちょw どんな風に?w
0528nobodyさん2007/08/19(日) 12:25:45ID:???
簡単な例として
$i / 5 が int型 だったら

これの答えは5の倍数

ようは5の倍数をとれればいいわけだから

$i % 5 が 0 だったら

$i * 2 の 1桁目が0だったら

とかできるよな
0529nobodyさん2007/08/19(日) 12:37:33ID:???
そんなトリッキーな実装するやつと一緒に仕事したくないなぁ。
この手の人間は平気で三項演算子をばんばん使うんだろうが、
自己陶酔型で、人間的にも扱いにくい厄介者。
0530nobodyさん2007/08/19(日) 12:51:37ID:???
トリッキーも何も除算でdivision by zero出るならしょうがないだろ
0531nobodyさん2007/08/19(日) 12:56:51ID:???
>>530
ちょwww
ゼロ除算を乗算を使って回避(orチェック)するやり方がトリッキーなんだろ。
素直に、if文で分母をチェックしろよ。
そもそも分母がゼロの際に、処理すべきことがあるだろ。
0532nobodyさん2007/08/19(日) 13:07:43ID:???
>>529
三項演算子がトリッキーで使うやつは自己陶酔型の厄介者。
そんなこといったら夏だからヒートアップしちゃうぜ?
三項演算子大好き回答者がたまにいるからな。
0533nobodyさん2007/08/19(日) 13:40:23ID:???
そもそも>>522の言う面倒とは何だ?
既存のチェック関数に追記するか新たに作るかすれば済む話じゃんか。

それを面倒と言うならゆとり認定だ。
0534===2007/08/19(日) 14:04:32ID:TluxcOv3
呼びました?
0535nobodyさん2007/08/19(日) 14:07:34ID:???
ゆとりって言葉を使いたがるやつって本物のゆとり世代らしいなwww
0536nobodyさん2007/08/19(日) 14:13:27ID:jPabp8UF
まあ / っていうのは関数じゃないから引数渡せなくて不便だわな
関数自作するのが一番早いな
0537nobodyさん2007/08/19(日) 15:18:58ID:???
三項演算っても使い方次第じゃねーの?
$mode = isset($_GET['mode']) ? $_GET['mode'] : null;
とかは逆に見易いと思うんだけど。
0538nobodyさん2007/08/19(日) 15:21:32ID:???
>>535
自分がゆとりとは違うんだってことを思い込みたいがために使うんだよ
0539nobodyさん2007/08/19(日) 15:28:16ID:???
>>528
っていうかトリッキー以前に、>>528のどこが便利な方法なんだ?
こんな下らないことやるよりは552の方法でやったほうが1000倍効率いいだろ。
0540nobodyさん2007/08/19(日) 15:33:43ID:???
>>552の方法に期待
0541nobodyさん2007/08/19(日) 15:34:28ID:???
>>528
便利とはいってないだろ
『できる』といっただけちゃうんかと
05425412007/08/19(日) 15:34:59ID:???
>>528じゃなくて>>539ね
0543nobodyさん2007/08/19(日) 15:42:18ID:???
三項演算子は実用的だろ
汚い構文ではあるが
0544nobodyさん2007/08/19(日) 16:28:21ID:???
×:下らねぇ質問はここに書き込みやがれ 52
○:くだらない質問でもトンチンカンな回答を偉そうに答えていいスレ
0545nobodyさん2007/08/19(日) 16:35:35ID:???
下らないレスはしていいスレではありませんよ
0546nobodyさん2007/08/19(日) 16:42:24ID:???
只でさえ暑いんだから、熱くなるなよポマイラ
0547nobodyさん2007/08/19(日) 18:22:19ID:VPl/L3m9
2ちゃんねるのような書き込み時のチェックはセッションを使っているのでしょうか?
0548nobodyさん2007/08/19(日) 18:25:39ID:???
なんのチェック?
■ このスレッドは過去ログ倉庫に格納されています