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

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

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

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

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

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

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0542nobodyさん2012/08/08(水) 01:24:41.33ID:???
このスレ、何のためにあるの?必要ですか?
0543nobodyさん2012/08/08(水) 01:37:58.15ID:???
お前がそうやって質問もないのに煽ってるからだろ
雑談したいならよそいけよ
0544nobodyさん2012/08/08(水) 01:40:44.72ID:???
回答者でレス抽出するとどれも似たような煽りばかりで笑えるな
そんなにこのスレ潰したいのか
0545nobodyさん2012/08/08(水) 01:46:38.00ID:???
じゃあ、暇な人がいれば PHP5.4 を使える共用レンタルサーバーを教えてください。
お願いします。
0546nobodyさん2012/08/08(水) 01:47:22.67ID:???
レンサバスレにいけカス
0547nobodyさん2012/08/08(水) 01:50:00.26ID:???
>>546
ほら、この口調。質問者を馬鹿にするなよ
0548nobodyさん2012/08/08(水) 01:50:30.92ID:???
>>1も読まないバカにはちょうどいい
0549nobodyさん2012/08/08(水) 01:51:53.39ID:???
>>547
だからなんでこっちくるの?
いちいち戻ってこなくていいから。
あとこのスレが荒れだしたのあなたのせいなんだからそれ忘れないでね。
0550nobodyさん2012/08/08(水) 01:52:01.76ID:???
で、このスレは何なのwww
0551nobodyさん2012/08/08(水) 01:55:16.87ID:???
このスレの回答者で試してみろとか
ググってみろっていうやつきえろや
うぜえんだよボケ
0552nobodyさん2012/08/08(水) 01:55:23.03ID:???
こんばんは(*^^)v
0553nobodyさん2012/08/08(水) 01:56:00.98ID:???
このスレは一体何なの?回答者の自己満足か?
0554nobodyさん2012/08/08(水) 02:04:41.04ID:???
>>550
少なくとも>>545のようなことをきくスレではありません。
専板があるのでそちらへ逝きましょう。
http://toro.2ch.net/hosting/
スレタイに書いてる通りPHPの質問をIDを出してして下さい。
無駄な挨拶のみとかただの嫌がらせは不要です。
お分かり頂けましたか?
0555nobodyさん2012/08/08(水) 02:12:43.43ID:???
>>552
わんばんこ(*^_^*)/
0556nobodyさん2012/08/08(水) 02:13:54.64ID:???
ここの回答者は偉そうw
0557nobodyさん2012/08/08(水) 02:15:00.44ID:???
>>554

こういう口調は>>551はどのように解釈したらよろしいでしょうか?
0558nobodyさん2012/08/08(水) 02:25:44.50ID:???
連投規制とけた途端連投の荒らしご苦労さまです
0559nobodyさん2012/08/08(水) 02:34:35.86ID:???
回答者が荒らしだもんな
0560nobodyさん2012/08/08(水) 02:42:09.78ID:???
つまりこっちでやってる嫌がらせをむこうのスレでやれってことか
0561nobodyさん2012/08/08(水) 02:43:57.99ID:???
このスレは回答者が荒らしw
0562nobodyさん2012/08/08(水) 02:49:30.05ID:???
このスレの回答者は本格的な荒らしになったようですな
0563nobodyさん2012/08/08(水) 02:49:37.29ID:???
質問なら、スレタイに書いてある通り
IDを出して質問してくださいね。^^
0564nobodyさん2012/08/08(水) 02:50:37.34ID:???
>>551 汚い言葉使い
0565nobodyさん2012/08/08(水) 02:52:54.98ID:???
煽ってるやつが荒らし
いい加減黙ってろよ
何の目的でこのスレにきてんの?
0566nobodyさん2012/08/08(水) 02:53:30.25ID:???
昔さんざんいじめられた復讐にきまってんだろ。
俺を小馬鹿にしやがって!
0567nobodyさん2012/08/08(水) 03:00:23.82ID:???
口が悪い回答者は消えろ
0568nobodyさん2012/08/08(水) 03:03:20.09ID:???
>>567
0569nobodyさん2012/08/08(水) 04:12:42.98ID:???
他言語スレに出てこないでください迷惑です
0570nobodyさん2012/08/08(水) 08:59:39.89ID:???
おはよ(^O^)
0571nobodyさん2012/08/08(水) 14:32:08.24ID:kpeLgbKL
foreach ($array as $value) {
$a[$value["id"]]["a"] = $value["a"];
$a[$value["id"]]["b"] = $value["b"];
$a[$value["id"]]["c"] = $value["c"];
}

こういう風に書いてるのがあるのですが、
foreachの中を、
$id = $value["id"];
$a[$id]["a"] = $value["a"];
$a[$id]["b"] = $value["b"];
$a[$id]["c"] = $value["c"];
といった感じにするか迷ってます。

例えばfor文で
for ($i = 0; $i < count($array); $i++){}
とやるとき、
count($array)が毎回呼ばれるからこれを外にだして、
$count = count($array);
for ($i = 0; $i < $count; $i++) {}
とやるのがセオリーだと思うのですが、
上記のforeach文の場合では、同様の理由で、
$id = $value["id"];のようにする必要はないと考えて大丈夫でしょうか?
0572nobodyさん2012/08/08(水) 14:37:14.06ID:???
セオリーじゃない

シィーアリィー だ。

theory
0573nobodyさん2012/08/08(水) 14:52:07.22ID:???
気になるなら、>>409みたく自分で10,000回くらいループさせてみて時間を計ればいい
使うメモリ量にも関わるけど、基本的にほとんど変わらないはず

ところで
> とやるのがセオリーだと思うのですが、

> $id = $value["id"];のようにする必要はないと考えて大丈夫でしょうか?
の繋がりがなんかおかしい気がするのは俺だけか?
セオリーに則るなら「$id = $value["id"];のようにす」ればいいわけで、「そうする必要がない」の理由が書かれてないと思うんだが
0574nobodyさん2012/08/08(水) 15:37:41.60ID:???
毎回呼ばれるからって書いてるじゃん

foreachで$valueに展開したものはそのまま参照すればいい
$valueが配列だからなんか違和感覚えたんだろうけど
ノーマルの変数同様配列もメモリに配置されることには変わりないわけで
配列の一部を他の変数に展開しても速度向上目的には意味がない
0575nobodyさん2012/08/08(水) 15:48:50.88ID:???
やれば分かるけどちょびっと早くなる。
あとは好みで
迷うほどのことではない。
0576nobodyさん2012/08/08(水) 16:09:11.85ID:???
>>571
$a[$value["id"]] = $value;
じゃ駄目なん
0577nobodyさん2012/08/08(水) 16:53:07.64ID:???
本当に早くなるのか?
試してないけどメモリにいれるぶんわざわざ
$id = $value["id"];
なんてやるほうが遅そうに感じるが・・・
0578nobodyさん2012/08/08(水) 17:05:44.15ID:???
見やすい方、わかりやすい方でやればいいよ。
でも、$id の内容を見るのと
$value の内容から "id" を探してそこの内容を見るのじゃ
差があるのはわかるよね?
0579nobodyさん2012/08/08(水) 17:15:11.56ID:???
$value["id"] の参照コスト > $id の参照コスト
上記の3回分と $id = $value["id"] の代入コストを比べると
代入したほうが早いんだろう

ちなみに "id" より 'id' のほうが早い

おれは1行が横に長くなるのがいやなので、
一旦 $id = $value['id'] で代入する派
0580nobodyさん2012/08/08(水) 17:22:41.15ID:LAYqfGos
間違えた正しくは

すぃーありぃー だ。

theory
05815712012/08/08(水) 17:30:45.43ID:kpeLgbKL
テストコードをどうやって用意したらいいかわからなかったのですが、
ぐぐったやり方で実際にやってみたら確かに早くなってるようです。
気にするほどでもなかったですが、>>579さんの意見はもっともなのでそうしたいと思います。

>>576
キー名なんかを色々変えたいので今回はその方法はとれません。
そうするのが一番楽ですよね。

大変参考になりました。
皆さんレスありがとうございました。
0582nobodyさん2012/08/08(水) 18:00:56.54ID:???
>>579
> ちなみに "id" より 'id' のほうが早い
これ本当?
0583nobodyさん2012/08/08(水) 18:04:39.18ID:???
嘘だよ
0584nobodyさん2012/08/08(水) 18:05:24.21ID:???
中に変数があった場合展開するから、変数があるか調べる分は遅いだろうな
0585nobodyさん2012/08/08(水) 18:08:16.62ID:???
早いだの遅いだのはベンチマークで確認しろ
0586nobodyさん2012/08/08(水) 18:09:08.68ID:???
>>584
それって実行時の速度には影響しないんじゃないの?
0587nobodyさん2012/08/08(水) 18:13:35.95ID:???
変わらないと思う
0588nobodyさん2012/08/08(水) 18:16:39.20ID:???
思うばっかりで計測もしないとは
0589nobodyさん2012/08/08(水) 18:18:26.28ID:???
実行前のオーバーヘッドは測れない
0590nobodyさん2012/08/08(水) 18:22:54.55ID:???
測れないのはスキルがないせい
0591nobodyさん2012/08/08(水) 18:30:23.28ID:???
>>586
実行時以前にどの段階で知れべられると?
0592nobodyさん2012/08/08(水) 18:32:36.11ID:???
配列の"key"と'key' の単純な参照で比較
10000000回の試行を10回やった差の平均で
0.005秒だったので 0.0000000005秒ぐらいは違うのではないか。
0593nobodyさん2012/08/08(水) 18:35:55.99ID:???
それは誤差で片付けられるレベルだわw
05945792012/08/08(水) 18:40:08.67ID:???
http://d.hatena.ne.jp/koto2/20080518/1211070116
これの28ね

まあコンパイル時はわずかに早いかもしれないが
コンパイル後の実行時は有意な差がない気もする
PHPのバージョンによるかもしれないが、
コンパイラがきちんとしてれば同じになりそう
0595nobodyさん2012/08/08(水) 18:58:45.31ID:???
APCとかはただのキャッシュだし、
Zend Optimizerあたりはこの辺変わるのかな?

そういうのでなければ、コンパイラとかコンパイル後とか?だし
いわゆるコンパイラの最適化的な処理はPHPの実行時には行われない。
0596nobodyさん2012/08/08(水) 19:47:50.79ID:???
>>594のリンク見て思い出したわ
>>530ってあれか
echoは使うなって言ってたやつかw
0597nobodyさん2012/08/08(水) 21:24:08.56ID:???
スピード気にするくらいであればphpは避けた方がいい選択
0598nobodyさん2012/08/08(水) 22:00:03.53ID:???
>>596
言ってねぇだろ
だいたい >>594 に echo を使った方が早いって書いてるのに

>>597
ちゃぶ台をひっくり返すんじゃねぇw
0599nobodyさん2012/08/08(水) 22:53:00.97ID:???
こんばんはーーーーーっ
0600nobodyさん2012/08/08(水) 23:15:16.87ID:???
こんばんは\(^o^)/
0601nobodyさん2012/08/09(木) 00:00:18.02ID:???
参考書なら置きっぱなしてきた高校に
0602nobodyさん2012/08/09(木) 00:20:26.60ID:???
わんばんこーーーヽ(^o^)丿
0603nobodyさん2012/08/09(木) 01:09:11.34ID:YoYLY2hR
全然分からんので質問させてもらいます。

preg_match_allで他の箇所からまったく違う範囲で検索しているのでpreg_match_allを2つ書いています。
preg_match_all("/<td class=\"title\">(.*?)<\/a>/s", $html, $title);
preg_match_all("/<td class=\"date\">(.*?)<br>/s", $html, $date);

こんな感じにしているのですが、連想配列に組み込みたいのですが出来るのかすら調べても分からない状態です。

教えて下さい・・・。
0604269ZO2012/08/09(木) 01:59:41.04ID:???
投稿テストですよん...( ̄ー ̄)ニヤリ
RE1lMFJGPLkBe91
866769933298494このマンションの一部はサウナなどを備える高級プライベートラウンジになっていて、「西麻布迎賓館」と呼ばれています。
0605nobodyさん2012/08/09(木) 04:47:17.99ID:???
>>603
何を連想配列に組み込みたいって?
>違う範囲
or使えばいいのでは(exp1|exp2)
0606nobodyさん2012/08/09(木) 07:52:37.39ID:???
ソースコードの装飾としてjavascriptではsyntaxhilighterがありますが、
PHPではそういうライブラリないのでしょうか?
0607nobodyさん2012/08/09(木) 07:58:37.80ID:???
>>1
0608nobodyさん2012/08/09(木) 08:12:00.47ID:gvdoj+//
ソースコードの装飾としてjavascriptではsyntaxhilighterがありますが、
PHPではそういうライブラリないのでしょうか?
0609nobodyさん2012/08/09(木) 08:27:19.15ID:???
拡張子をphpsにしてアクセスしてごらん
0610nobodyさん2012/08/09(木) 08:34:44.71ID:gvdoj+//
質問が悪かったです。すいません。
ソースコードの装飾は何もPHPに限った話ではありません。
C言語やJAVASCRIPT、HTMLなどのソースコードも装飾してくれるライブラリのようなものがあればな、と。
0611nobodyさん2012/08/09(木) 08:47:11.22ID:???
こんなんみつけますた

http://sourceforge.jp/projects/sfnet_geshi/
0612nobodyさん2012/08/09(木) 09:11:30.58ID:???
おはよ(^O^)
0613nobodyさん2012/08/09(木) 10:42:38.49ID:gvdoj+//
>>611
ありがとうございますた
0614nobodyさん2012/08/09(木) 10:54:43.04ID:???
おっはーーーヽ(^o^)丿
0615nobodyさん2012/08/09(木) 14:41:31.72ID:YoYLY2hR
>>603
preg_match_all("/<td class=\"title\">(.*?)<\/a>/s", $html, $title);
preg_match_all("/<td class=\"date\">(.*?)<br>/s", $html, $date);

この検索して配列に格納した二つを連想配列に格納したいのです。

orを使おうとしているのですが、うまく動作しなくて・・・。
preg_match_all("/<td class=\"title\">(.*?)<\/a>/s|/<td class=\"date\">(.*?)<br>/s", $html, $title);
ようはこういう事ですよね?
0616nobodyさん2012/08/09(木) 14:43:55.90ID:???
>>615
いいえ
0617nobodyさん2012/08/09(木) 14:51:41.90ID:???
/(a|b)/s
0618nobodyさん2012/08/09(木) 14:57:02.97ID:???
>この検索して配列に格納した二つを連想配列に格納したいのです。
すればいいじゃん。どういう感じにしたいのか知らないけど、
>>571のコードみたいに、ようは格納しなおせばいいんじゃないの?
0619nobodyさん2012/08/09(木) 15:08:01.18ID:???
>>615
2回も教えてもらってるのに、いつまでかかってるんだよクズが


605 名前:nobodyさん[sage] 投稿日:2012/08/09(木) 04:47:17.99 ID:???
>>603
何を連想配列に組み込みたいって?
>違う範囲
or使えばいいのでは(exp1|exp2)


617 名前:nobodyさん[sage] 投稿日:2012/08/09(木) 14:51:41.90 ID:???
/(a|b)/s
0620nobodyさん2012/08/09(木) 16:51:15.55ID:???
>>615
釣りじゃないなら、「正規表現 or」してみて。
0621nobodyさん2012/08/09(木) 18:17:00.92ID:YoYLY2hR
>>605
>>607
preg_match_all("/(<td class=\"title\">(.*?)<\/a>|<td class=\"date\">(.*?)<br>)/s", $html, $date);
こういう事ですね!

>>618
どういう事でしょう・・・。

orだとarray_combine()が使えないので連想配列にどうやって格納しようか分からずじまいです・・・。
0622nobodyさん2012/08/09(木) 18:56:45.58ID:???
>>621
1.どういうデータになってしまうのか
2.どういうデータにしたいのか

連想配列とかじゃなくて具体的にいって
0623nobodyさん2012/08/09(木) 19:21:54.14ID:YoYLY2hR
>>622
プログラミング自体が初心者なのでうまく説明が出来ないですが、
>>621で検索した2つの文字列の一つをキーにして残りの一つを値として格納したいのです。

今は、普通の配列として全部格納されているので、それを2つに分けて連想配列にしたい?という感じです。
0624nobodyさん2012/08/09(木) 20:08:46.88ID:???
こういうこと?
preg_match_all("/<td class=\"title\">(.*?)<\/a>/s", $html, $result['title']);
preg_match_all("/<td class=\"date\">(.*?)<br>/s", $html, $result['date']);

それともそも代入される結果の配列のキーをintじゃなくてstringにしたいということ?
もし、そうであれば、どのようなstringをキーにしたいかがまた追加情報として必要だけど。
また、その場合、preg_match_callbackになるかな。
0625nobodyさん2012/08/09(木) 20:33:09.92ID:???
知ってると思うけどprint_r($array);で配列の構造が視覚的に見えるから
それで頭の中整理するといいよ
0626nobodyさん2012/08/09(木) 20:37:57.81ID:???
お前ら相変わらずレベルひくいなぁ
俺なんか一発でわかったぜ
教えてあげないけど
0627nobodyさん2012/08/09(木) 20:41:38.00ID:???
低レベルすぎて話にならない

解散
06281/22012/08/09(木) 21:03:10.93ID:3OhMqJA0
mysqlでデータを取り出して、画像の一覧を表示させたいと思っています
もし画像のデータがなかったときに、「画像はありません。」といったメッセージを出したいです
なかなかうまくいかないので、ご指摘お願いします
06292/22012/08/09(木) 21:03:46.08ID:3OhMqJA0
<ul>
<?php
//
$query = sprintf("SELECT * FROM hoge WHERE aaa LIKE '%%$uuu%%'",
mysql_real_escape_string($itm));
$result = mysql_query($query, $link);

$hhh = 20;
for ($o = 0; $o < $hhh; $o++) {

$kkk = 3;

for ($s = 0; $s < $kkk; $s++) {

if ( $row = mysql_fetch_array($result)) {
$id = $row['id'];
$img = $row['img'];

echo <<< EOF
<li><a href="http://example.com/bbb$id.html"><img src="$img" alt="" /></a></li>
EOF;

if ($row == FALSE) {
echo "<li>画像はありません。</li>";
break;
}
}
}
break;
}
?>
</ul>
0630nobodyさん2012/08/09(木) 22:07:06.81ID:3OhMqJA0
できました!
失礼します
0631nobodyさん2012/08/09(木) 22:10:03.73ID:3OhMqJA0
すみません、やっぱりだめでした
もう少し考えます
0632nobodyさん2012/08/09(木) 22:27:45.20ID:3OhMqJA0
今度こそ解決しました
何度も何度も申し訳ありませんでした
0633nobodyさん2012/08/09(木) 22:43:29.34ID:???
わんばんこーーーヽ(^o^)丿
0634nobodyさん2012/08/09(木) 22:58:20.47ID:B9B5O+Sc
制御構造で1つだけわからないものがあります
declareなんですがマニュアルみても何言ってるかわかりません
これはどういう時に使うのでしょう?
0635nobodyさん2012/08/09(木) 23:09:18.84ID:???
わんばんこーーーヽ(^o^)丿
0636nobodyさん2012/08/09(木) 23:22:04.36ID:gvdoj+//
コマンドから実行するとselectでちゃんと取得できるんですが、
PHPのコードをファイルに書いて、ブラウザで実行するとselectが取得できなくなります。
原因として何が考えられるでしょうか?
0637nobodyさん2012/08/09(木) 23:28:58.34ID:YoYLY2hR
>>624
そうだと思います!
が、新たにpreg_replaceでタグ削除が出来なくなってしまいました・・・。
preg_replace('/<("[^"]*"|\'[^\']*\'|[^\'">])*>/','',$result['title']);
では消せないのでしょうか・・・。

最終的には$result['title']と$result['date']に分けてcsvで結果を保存したいので・・・。
0638nobodyさん2012/08/09(木) 23:50:10.73ID:???
PHPはタグ削除に向いてない
0639nobodyさん2012/08/10(金) 01:17:56.29ID:???
Eclipse 4.2 Junoで
一つのファイルを左右に並べて編集とかしたいんですけど
開けなくなってませんか?

前のバージョンまでだったら出来ていたのですが。
0640nobodyさん2012/08/10(金) 01:32:01.67ID:???
同時に2つ開くだけでいいのではないだろうか
0641nobodyさん2012/08/10(金) 01:32:55.33ID:???
>>639

23. Javaの話をすると回答者が不機嫌になるんだけど・・・
 → 他言語について言及しないこと。ここの回答者はPHPしかわかりません。
■ このスレッドは過去ログ倉庫に格納されています