【PHP】下らねぇ質問はID出して書き込みやがれ 116
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2012/02/26(日) 11:49:58.54ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 115
http://kohada.2ch.net/test/read.cgi/php/1327005803/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0516475
2012/03/11(日) 00:27:37.57ID:???ごめんなさい
これでいいんでしょ
0517nobodyさん
2012/03/11(日) 00:29:37.74ID:???0518nobodyさん
2012/03/11(日) 00:40:03.17ID:???典型的なゆとりっすな
0519nobodyさん
2012/03/11(日) 04:06:37.88ID:???ほっとけ
0520名無しさん
2012/03/11(日) 17:29:34.13ID:pFTcjAB+0521505
2012/03/11(日) 20:03:10.11ID:6FUbVztnデータベースに記録してあり、それの検索をphpでlikeを
使い検索ということでしょうか?
0523nobodyさん
2012/03/11(日) 20:32:11.92ID:Ul7q+mz0「全文検索」で情報を漁ってください。
>>506
ごくごく小規模な用途限定のやり方ですね。
0525nobodyさん
2012/03/11(日) 20:41:25.72ID:Ul7q+mz0想像がつく範囲で試しても、想定漏れがありそうで怖いので聞いてみました。
(A)「parent::method」という書き方は(B)「class::method」という書き方に似ていて、
(B)だとオブジェクト変数にアクセス出来ないので、それと同じ制限があるのかと
思いましたが、試したところ、その制限はありませんでした。
なので
「$this->親クラスのコンストラクタ」と「parent::親クラスのコンストラクタ」は
同じ動作なのかと思ったのですが、一応、識者に聞いてみたかったのです。
>>501
違うのですね。
どこが違うのかポインタ教えていただけるとありがたいです!
0526nobodyさん
2012/03/11(日) 20:43:44.85ID:???大規模になるとこんなもの使う↓
http://www.atmarkit.co.jp/fjava/rensai4/hadoop_tm01/01.html
0529nobodyさん
2012/03/11(日) 20:48:41.52ID:???>>523でも>>526でもないが
小規模とは>>521に書いてある「phpでlikeを使い検索」で間に合うレベル。
0530498=523=525
2012/03/11(日) 20:49:14.66ID:Ul7q+mz0サーバー構成と応答の許容時間によります。
「like '%xxxx'」のように、検索文字列の前に「%」を付けると索引が使われない
ため、テーブルを全件見に行かないといけなくなり、件数やサーバーの能力に
応じた時間がかかってしまうためです。
索引に頼ることができないため、データベースのデータが確実にメモリーに
キャッシュされるチューニングをした上で、メモリー容量まではある程度高速に
検索ができますが、それを超えると極端に遅くなっていきます。
0531498=523=525
2012/03/11(日) 20:57:36.15ID:Ul7q+mz0悪くは無いですが、if(isset($_POST)){} じゃないとinfoログが出ます。
0532nobodyさん
2012/03/12(月) 00:31:59.22ID:JEbP5xt5-------- -------- ------- --------
| | | | | | | |
| | | | | | | |
-------- ------- --------- ---------
-------- -------- ------- --------
| | | | | | | |
| | | | | | | |
-------- ------- --------- ---------
このように、4つめになったら改行をする、と言う風にしたくて、
一応それはできたのですが、
--------
| |
| |
|-------|
| |
|-------|
こんな感じに一つ一つを二行にして、横に並べ4つ目で改行、とするにはどうすればいいのでしょうか?
下手で分かりにくいかも知れませんが、教えてください、お願いします。
0533nobodyさん
2012/03/12(月) 00:39:13.52ID:???理由じゃなくて目安を聞いてるんだけど・・・。
コンピュータと話してるんじゃなくて人間と話してるんだぜ。
0534nobodyさん
2012/03/12(月) 00:58:28.68ID:???0535498=523=525
2012/03/12(月) 01:08:28.65ID:pwdc/TOi目安を書いてますよ。
データベースサーバーがキャッシュ可能なメモリー容量までです。
レコード長でわり算してみてください。
あなたの環境のことは私にはわかりません。
メモリーが500GByteでレコード長が1byteなら500G行までです。
0536498=523=525
2012/03/12(月) 01:14:20.88ID:pwdc/TOiテーブルというのはHTMLのテーブルですか?
良くわからないので、欲しい結果をHTMLで書いてみてはどうでしょうか。
0537nobodyさん
2012/03/12(月) 01:18:06.28ID:Ik+kB/Cp標準関数群はどのクラスに属していると考えればよろしいのですか?
0539nobodyさん
2012/03/12(月) 01:26:33.43ID:???あいつらやっぱり変態だわ
0541498=523=525
2012/03/12(月) 01:30:42.38ID:pwdc/TOi標準的なRDBMSの場合で書きました。
「中間一致でインデックスが使われないDB」ではないDB、
つまり全文検索機能がある場合(使用する場合)は、
もちろんこの限りではありません。
という意味で、
>>523 で、「「全文検索」で情報を漁ってください。 」と書きました。
0542nobodyさん
2012/03/12(月) 01:38:12.49ID:???<?php
$data=array(1,2,3,4,5,6,7,8,9,10,11,12,13,14);
echo "<table border>" . "<tr>";
for($i=0,$n=count($data);$i<$n;$i++){
if (($i % 5) == 4) {
echo "</tr>"."<tr>";
} else {
echo "<td width=\"160\">" . "あ" ."</td>";
}
}
?>
<html><body>
<table border>
<tr><td>タイトル1</td><td>タイトル2</td>
</tr><tr><td>あ1</td><td>あ2</td>
</tr></table>
</body></html>
欲しい結果は、画面表示だけみればこのように、上下セットでとなるものを作りたいです。
そしてループで横に並べ4つめで改行、と言う風にしたいです。
0543nobodyさん
2012/03/12(月) 01:58:23.27ID:???<hr>で区切るか<br>で改行とか装飾は<span>でっていうのがシンプルで管理も楽かなーと思う
<tr><td><span class='title'>タイトル1</span><hr>あ1</td><td>タイトル2<hr>あ2</td>
0544498=523=525
2012/03/12(月) 02:28:01.78ID:pwdc/TOiこんな感じ?
<?php
$data=array(1,2,3,4,5,6,7,8,9,10,11,12,13,14);
$i = 0;
echo '<html><body><table>' . "\n";
foreach($data as $value)
{
$i++;
if(($i % 4)===1){
$line1 = '<tr>';
$line2 = '<tr>';
}
$line1 .= sprintf('<td>タイトル%s</td>', $value);
$line2 .= sprintf('<td>あ%s</td>', $value);
if(($i % 4)===0 or $i===count($data)){
echo $line1 . '</tr>' . "\n";
echo $line2 . '</tr>' . "\n";
}
}
echo '</table></body></html>' . "\n";
?>
0545nobodyさん
2012/03/12(月) 16:49:26.43ID:???0546545
2012/03/12(月) 16:51:27.16ID:???すみません。誤解な上にスレチでした。
0547nobodyさん
2012/03/12(月) 17:40:16.66ID:???0548nobodyさん
2012/03/12(月) 18:01:36.44ID:JEbP5xt50549nobodyさん
2012/03/12(月) 18:39:29.58ID:???0550nobodyさん
2012/03/12(月) 20:15:15.33ID:???0552nobodyさん
2012/03/12(月) 20:34:11.33ID:???笑うのはありえない。
0554nobodyさん
2012/03/12(月) 20:46:32.39ID:???そうでなくて、厳密な比較でいい場合はってこと。
0555nobodyさん
2012/03/12(月) 21:02:03.44ID:???0556nobodyさん
2012/03/12(月) 21:08:10.22ID:???PHPerルール押し付け(・A・)イクナイ!!
0557nobodyさん
2012/03/12(月) 21:09:35.85ID:???PHPの==と===の違いを理解してから言ってくれ
0559nobodyさん
2012/03/12(月) 21:14:00.61ID:???0560nobodyさん
2012/03/12(月) 21:15:40.79ID:???とかもそうだな
外に出せとかいうやついるよな
CやJava使いが簡単に使えるような仕様にしてんだから
そいつらにすれば余計なお世話だ
0563nobodyさん
2012/03/12(月) 21:39:49.55ID:???0564nobodyさん
2012/03/12(月) 23:05:06.52ID:???0566nobodyさん
2012/03/12(月) 23:26:32.46ID:???0567nobodyさん
2012/03/12(月) 23:33:17.93ID:???0568nobodyさん
2012/03/12(月) 23:39:56.43ID:???0569nobodyさん
2012/03/12(月) 23:40:39.28ID:???==は使うな
0570nobodyさん
2012/03/13(火) 00:00:54.82ID:???俺の糞だし
0571nobodyさん
2012/03/13(火) 00:53:05.78ID:qKbE02zHパソコンでphpやcgiを動かしてるだけなら特に意識しませんでしたが、
レンタルサーバーはパーミッション設定により動かなかったりします。
phpは644で動いてますが、cgiは644では動かず700にする必要が
ありました。phpとcgiの正しいパーミッション設定を教えて下さい。
0572nobodyさん
2012/03/13(火) 01:08:14.04ID:???0574nobodyさん
2012/03/13(火) 02:05:59.80ID:???10万回くらいまわすテストしてみれば分かるかと。
1秒も変わらないと思うけど。
>>571
PHP関係ないよね
0575nobodyさん
2012/03/13(火) 03:59:35.58ID:???0579578
2012/03/13(火) 07:12:42.52ID:???CやJavaで===使うっていってるのかとおもた
曖昧な比較ができるのがPHPのいいところ
ただし使う人はちゃんと仕様を理解しないとだめだね
0580nobodyさん
2012/03/13(火) 07:21:37.09ID:l22JItfE変数A.関数(変数B)
っていう書式で関数使うノあると思いますが
同じのをPHPで書く場合は
関数(変数A, 変数B)
になるんですよね?
0581578
2012/03/13(火) 07:31:55.39ID:???パフォーマンス云々いうほどのものではないのにはかわりないが・・・
$start = microtime(true);
$a = 1;
for ($i = 0; $i < 1000000; $i++) {
if ($a === $i) {}
}
echo microtime(true) - $start;
0582nobodyさん
2012/03/13(火) 08:01:05.73ID:???オブジェクトでしょ?
>>581
1回あたり0.00000005秒の違いか
552の限界までパフォーマンスを追及する姿はかっこいいね!
0583nobodyさん
2012/03/13(火) 08:22:23.41ID:???0585nobodyさん
2012/03/13(火) 08:38:32.12ID:???0586nobodyさん
2012/03/13(火) 09:38:54.23ID:???0587nobodyさん
2012/03/13(火) 09:58:01.86ID:???ほれみろWindows+XAMPPしか使ってこなかったろ
今すぐ仮想マシンを用意してubuntuでもdebianでも何でもいいからいれろ
0589nobodyさん
2012/03/13(火) 10:18:22.84ID:???0590nobodyさん
2012/03/13(火) 10:22:22.43ID:???=== ベテラン向け
0591nobodyさん
2012/03/13(火) 10:27:23.20ID:???=== 初心者向け
0593nobodyさん
2012/03/13(火) 10:38:07.99ID:???議論することでもなんでもないが
ちなみに===演算子はJavaScriptにもある
0594nobodyさん
2012/03/13(火) 10:43:18.63ID:???==を使うのは初心者だけにしておけ
0595nobodyさん
2012/03/13(火) 10:57:32.85ID:???インタプリタにはほとんどある
もしくはそれに類する関数とか(JavaやC#でいうString.equalsのようなもの)
0596nobodyさん
2012/03/13(火) 11:15:38.43ID:???・外部サイトにアクセスするときfile_get_contentsは使うな
・比較に==は使うな
・エイリアスは使うな
・非推奨関数は使うな
・XAMPPは使うな
0597nobodyさん
2012/03/13(火) 11:32:25.71ID:???問題はパフォーマンスにもそんな差が出ないとわかったところで
使う上ではちゃんと仕様を把握すればいいじゃんって話じゃん。
PHPerがくそだくそだって言われる最たるところは、ちゃんと仕様や内容を
把握した上でスクリプトくまねーところだろ。
>>581
明示的に一度==のときにstringで放り込んでから比較するとどーなる?
0599nobodyさん
2012/03/13(火) 11:52:56.52ID:???・file_get_contents推進します。効率なんて気にしてはいけません。UAもクッキーも送信できるのでおすすめ。
・比較に==をジャンジャン使いましょう。型の比較、特に""とnullの比較なんて気にしてはいけません
・エイリアスの使用を広めてあげましょう。自分が好きな関数名で書くのがいいですよ!
・非推奨関数なんて気にせず使いましょう。皆が使えば怖くない!
・XAMPPを積極的に導入しましょう!開発環境に時間を費やしてはいけません。本番と同じものを用意するのはドMがやる作業です。
0600nobodyさん
2012/03/13(火) 12:05:16.21ID:???0601nobodyさん
2012/03/13(火) 12:07:08.63ID:???0602nobodyさん
2012/03/13(火) 12:44:20.12ID:???0603nobodyさん
2012/03/13(火) 12:58:23.04ID:???0604nobodyさん
2012/03/13(火) 12:59:03.22ID:???0605nobodyさん
2012/03/13(火) 13:09:30.91ID:???こう書いちゃう人いそうだな!
0606nobodyさん
2012/03/13(火) 13:11:07.15ID:???時にはcurl使ってるけど、ただ単に公開のhtmlとか取ってくる時は
file_get_contents使ってるわ。
0607nobodyさん
2012/03/13(火) 13:35:22.69ID:???0608nobodyさん
2012/03/13(火) 13:38:34.99ID:???パフォーマンスなら別言語をどうぞ。
0609nobodyさん
2012/03/13(火) 13:54:00.73ID:???みたいなのは、ほとんどただの自己満足に近い差しかないけどさ、
URLからの読込みのような部分は、大きな意味があるよ。遅いんだからさ。
0610nobodyさん
2012/03/13(火) 14:12:03.48ID:lpLFUoKUcmd.exe /k C:\php\php.exe "C:\phpファイル.php"
この状態で、コマンドプロンプトからテキスト入力を受け取るにはどうしたらよいのでしょうか。
"C:\phpファイル.php"のコードを実行させつつ、キーボードから入力された値をscanf的な関数で取得させたいので
php -aで使える対話シェルはちょっと違います。
0612nobodyさん
2012/03/13(火) 14:30:50.20ID:???0613498=523=525
2012/03/13(火) 15:24:54.81ID:mq2kKsmo>剰余の計算で===とかw
どのへんが面白いんですか。
>>551
>いくつかの突っ込みどころの中でそれを選んだ>>550はすごいな
ほかにどんな突っ込みどころがあります?
>>554
>===ではなくて ==と書きたいこともあるだろう?
ないですねぇ。
「==」って書いたら、後で見直した時に
何か理由があるのか単なる書き間違いなのか、考えなくてはいけないので面倒です。
同じ理由で、変数等の展開が不要な文字列のクォーテーションは必ずシングルで、
必要な場合だけダブルを使っています。
読みにくいので、文字列の中に変数を入れること自体あまりせずに sprintf を
使うことが多いですけどね。
■ このスレッドは過去ログ倉庫に格納されています