【PHP】下らねぇ質問はID出して書き込みやがれ 127
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2013/03/19(火) 22:13:49.76ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 126
http://kohada.2ch.net/test/read.cgi/php/1359808868/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0730nobodyさん
2013/05/03(金) 20:46:04.14ID:???0731nobodyさん
2013/05/03(金) 20:54:23.17ID:???0732nobodyさん
2013/05/03(金) 21:34:09.24ID:???>月1000円未満で借りられるVPSがたくさんあるのに、今時プログラマがレンタルサーバ
0733nobodyさん
2013/05/03(金) 22:30:55.67ID:???いまどき、負荷で他人に迷惑とか心配するようなのなんで借りるのか。
0734nobodyさん
2013/05/03(金) 23:22:55.41ID:???0736nobodyさん
2013/05/04(土) 02:24:53.02ID:???0738nobodyさん
2013/05/04(土) 04:56:11.79ID:???0739nobodyさん
2013/05/04(土) 08:14:30.77ID:???0740nobodyさん
2013/05/04(土) 15:34:13.29ID:???0741nobodyさん
2013/05/04(土) 16:03:20.74ID:???0742nobodyさん
2013/05/04(土) 16:09:50.75ID:???語源や言葉の意味なんてころころ変わるもの
だいたいIT用語なんて確立した意味をもつものは少なく曖昧な意味が多い
下らない争いしてんじゃねえよ
729も用語無理して使うな(下手に曖昧なこというな)
732も意図理解しててあえて突っ込んでやるな
共用サーバって言いたかったんだろ
0743nobodyさん
2013/05/04(土) 17:00:42.40ID:???0744nobodyさん
2013/05/04(土) 19:34:20.11ID:???そういうたぐいのめんどくせー話はいらんわ
0745nobodyさん
2013/05/05(日) 01:54:18.29ID:???0746nobodyさん
2013/05/05(日) 01:55:09.42ID:???0748nobodyさん
2013/05/05(日) 17:12:44.70ID:WrP9RIzVIDの先頭にsenior(シニア)がつくユーザーと、つかないユーザーです。
senior102315
senior102516
112316
senior118311
120210
121653
・
・
seniorを削除して全ユーザのIDを数字のみにしたいのですが
UPDATE `table_ID` SET `field_ID` = REPLACE(`field_ID`,'senior','');
記述がどこか違っているのかわかりません。
一括削除の操作は別のコマンドを使うのでしょうか?
0749nobodyさん
2013/05/05(日) 17:28:37.62ID:???間違ってるようにみえないけど、試しに select してみ
SELECT field_ID , REPLACE〜 FROM 〜
とかさ
0750nobodyさん
2013/05/05(日) 17:58:30.08ID:WrP9RIzVそうそうに引き揚げますのでこれだけみてください
なぜ機能しないのでしょう
SELECT field_ID, REPLACE(`field_ID`,'senior','') FROM `table_ID`;
0751nobodyさん
2013/05/05(日) 18:04:11.71ID:???0752nobodyさん
2013/05/05(日) 18:09:18.89ID:???機能しないってのは結果が0件とか?
エラー表示させるとか、一番単純なやつで結果見るとかしてみては
0753nobodyさん
2013/05/05(日) 18:19:38.27ID:???IDは数値のみでもってシニアかどうかはフラグでもつければいいのに
0754nobodyさん
2013/05/05(日) 19:01:15.54ID:???0755nobodyさん
2013/05/05(日) 19:42:00.33ID:???$newid = preg_replace("/senior/","",$oldid);
$query = "update usertable set id = $newid where id = $oldid";
とかどうかな
0757nobodyさん
2013/05/05(日) 19:49:51.60ID:???制約コロコロ変えたり拡張が簡単になってるんでそ
断片化が半端なさそうだが
0758nobodyさん
2013/05/05(日) 20:02:15.57ID:???0759nobodyさん
2013/05/05(日) 20:18:14.45ID:???SQLの知識が足りないなら無理せず>>755みたいにPHP側に回せばいいだけだな
0760nobodyさん
2013/05/05(日) 20:24:49.96ID:???0761nobodyさん
2013/05/05(日) 20:26:34.38ID:???0762nobodyさん
2013/05/05(日) 20:32:37.47ID:???0763nobodyさん
2013/05/05(日) 20:34:58.73ID:???PHP→SQLって流れが一般的かと
そうするとPHPのほうが楽な人も多いと思う
0766nobodyさん
2013/05/05(日) 23:54:57.58ID:???0767nobodyさん
2013/05/06(月) 00:18:24.18ID:???アホばっか
0768nobodyさん
2013/05/06(月) 00:23:13.86ID:???そりゃSQL自由自在に使える奴ならSQLでやったほうが早いに決まってる
0769nobodyさん
2013/05/06(月) 00:37:03.05ID:???0771nobodyさん
2013/05/06(月) 00:39:03.38ID:???SQLの方が理解できる人多いと思うわ
0774nobodyさん
2013/05/06(月) 04:49:12.12ID:???継続的にやるとかなら負荷とか処理速度とか考えるけど
0775nobodyさん
2013/05/06(月) 04:56:27.67ID:???0776nobodyさん
2013/05/06(月) 07:17:16.77ID:???多くの場合PHPで加工を入れたほうが遅いのは想像に易い
が一応ちゃんとベンチとってからそういう事言わないとな
PosqlみたいなのもあるしSQLが早いっていう考えはちょっとおかしい
0777nobodyさん
2013/05/06(月) 10:20:41.47ID:???パッと見て何がやりたいのか、なんでそうなるのか凡人の頭じゃさっぱりわからないキチガイSQL
0778nobodyさん
2013/05/06(月) 11:08:56.63ID:???いくらなんでも片手間の俺よりはできるだろうと思って外注に出してるけど、
業者さんがこのレベルってことはないよね?
0780nobodyさん
2013/05/06(月) 11:49:12.07ID:???まぁSQLやらない/できない言い訳を必死に考えてんだろうけど
0781nobodyさん
2013/05/06(月) 11:54:27.69ID:???SQLでやったほうがいい処理もあるし、PHP側でやったほうがいい処理もあるに決まってんだろ
そんなにSQL好きならHTMLタグまで全部SQL側で生成しろよwwwww
0782nobodyさん
2013/05/06(月) 17:11:55.85ID:???0783nobodyさん
2013/05/06(月) 20:04:40.44ID:???0784nobodyさん
2013/05/06(月) 20:05:17.12ID:???0785nobodyさん
2013/05/06(月) 20:48:18.75ID:???外注とはコスト削減のために使うものであって、自分より質の高いものを得るために使うものじゃない(確信)
0786nobodyさん
2013/05/06(月) 21:16:20.05ID:???0788nobodyさん
2013/05/06(月) 22:19:17.49ID:???0790nobodyさん
2013/05/06(月) 22:59:21.71ID:???0791nobodyさん
2013/05/07(火) 00:30:53.24ID:???0792nobodyさん
2013/05/07(火) 01:37:23.03ID:zoq9xUOzphpって実行時に一度C言語に変換された後機械語に変換されるんですか?
それともphpインタプリタが直接機械語に変換するのでしょうか?
プログラムの動作する仕組みがよくわからないので教えてください。
0794nobodyさん
2013/05/07(火) 02:41:07.19ID:zoq9xUOzあざっす。
その変換されたものをファイルに書き出すことってできないんですかね?
というのも実行時にいちいち変換するより、もうほとんど手を加えないとういプログラムなら
変換したものを動作させたほうが速いだろうと思うのですが。
開発中 -> インタプリタで実行するごとに変換
本番環境 -> コンパイル?されたファイルを変換せずに実行
0795nobodyさん
2013/05/07(火) 04:43:13.60ID:???0796nobodyさん
2013/05/07(火) 06:06:21.19ID:zoq9xUOzそうなんですか。ありがとうございます。
初心者が言うのも変ですが、変換はできてそれを実行もできるのに
変換したものを保存することができないってのがよくわからんです。
c言語ならコンパイルしたものがファイルとして保存できますよね。
なぜphpは変換したものが保存できないのですか?
0797nobodyさん
2013/05/07(火) 07:00:35.00ID:???http://www.php.net/manual/ja/intro.apc.php
0798nobodyさん
2013/05/07(火) 08:19:30.37ID:???どうやってんのかしらんけど
0799nobodyさん
2013/05/07(火) 09:24:00.12ID:zoq9xUOzapc_bin_dumpfileでできましたー。
これ以前試したことがあってできなかったからapcはまだ不安定なんだと思ってたんですが、
php5.4.13 + apc3.1.13でファイルに書き出せました。
このバイナリデータはすでにphpは関係ないってことですよね?
ということはc言語も関係ないってことだと思うのですが、
これどうやって実行すればいいんでしょうか?
0800nobodyさん
2013/05/07(火) 09:47:48.19ID:???HipHop VM
Phalanger
0801nobodyさん
2013/05/07(火) 10:36:29.78ID:n6USVSPe【PHPのバージョン】5.4.13
【連携ソフトウェア】
【質問内容】超初心者です。
HTMLの記述の中に、<?PHP 〜 ?>を書いて、そこにPHPプログラムを書いて動的なものにしていくと思うんですけど、
while とかで求める繰り返し処理をして連想配列から出した値を、HTMLの記述のあちこちに表示させたい場合、
その表示させたい箇所ごとにwhile分を使わないといけないんでしょうか?例えば
<?PHP
<body>
while (list($key,$val) = each($arr)){
echo "$key $val \n";
}
</body>
?>
の場合だと問題ないのですが、<body>にけっこう多いコードがあったときにもし"$key"と"$val"をバラバラの場所に
表示させたいときに、それぞれにwhileを使うしかないのでしょうか?
よろしくお願いします。
0802nobodyさん
2013/05/07(火) 10:38:35.04ID:???好きにやればいい
0803801
2013/05/07(火) 10:40:42.79ID:n6USVSPewhile (list($key,$val) = each($arr)){
echo "$key";
?>
〜間にHTMLの記述〜
<?PHP
echo "$val";
}
?>
こんな感じで上と下に表示できるかなーと思ったのですが、ダメでした。
よろしくお願いします。
0804nobodyさん
2013/05/07(火) 10:47:24.21ID:???0805nobodyさん
2013/05/07(火) 10:49:30.54ID:???間のHTMLは一回だけにしたいって意味?
ループ中は文字列変数につないでいって
ループ出てからechoすりゃ一回でいける。
0806801
2013/05/07(火) 10:56:47.81ID:n6USVSPeやっったりしてました。
?>と<?PHPで、いったんPHPから抜けたら 間のHTMLはループされずに
echo "$key" と echo "$val" だけループされるのかと思ったけど、そうなりませんでした。
変数につないでいってループ出てからechoをやってみます。
ありがとうございました。
0807nobodyさん
2013/05/07(火) 10:57:43.28ID:???$str = "";
while(...) {
$str = "<li>".$key."=>".$val."</li>";
}
echo $str;
echo $str;
echo $str;
後は好きにしろ
0808nobodyさん
2013/05/07(火) 11:03:54.13ID:???APCに読ませてPHPに実行させる。
独立したapacheモジュールみたいなものを書き出しているわけじゃないよ
0809nobodyさん
2013/05/07(火) 11:04:07.17ID:???0810nobodyさん
2013/05/07(火) 19:18:37.58ID:???ああ
<?PHP
echo implode('', array_keys($arr));
?>
〜間にHTMLの記述〜
<?PHP
echo implode('', array_values($arr));
?>
0811nobodyさん
2013/05/08(水) 17:19:35.07ID:QMrGFLn3<?php
echo "1";
echo "2";
echo "3";
?>
sample.php
$file = file('test.php');
としたときに
$file[0]
には
echo "1";
がはいります。
しかし
$file[5]
には
?>
が入っています。
?>は取得出来るけど<?phpはどうやっても取得されないのでしょうか?
実際には2行目にecho "1";が来るのに配列としては[0]なのであわせられればと思っています。
0813nobodyさん
2013/05/08(水) 18:04:15.48ID:???0814nobodyさん
2013/05/08(水) 18:19:51.72ID:QMrGFLn3array(5) {
[0]=>
string(6) "
string(10) "echo "1";
"
[2]=>
string(10) "echo "2";
"
[3]=>
string(10) "echo "3";
"
[4]=>
string(2) "?>"
}
となってました。
ブラウザ側のソースには
[0]=>
string(6) "<?php
"
[1]=>
string(10) "echo "1";
と表示されています。
html上のものでなぜソースが異なるのかちょっと意味がわからないです。
0815nobodyさん
2013/05/08(水) 18:25:42.54ID:???"
[1]=>
がタグ扱いでブラウザで表示されないだけじゃねーか。
0816nobodyさん
2013/05/08(水) 18:26:35.32ID:???表示しなくするだろw
どうしてもブラウザに出したければ、htmlspecialcharsを通すとかでどうかな。
0818nobodyさん
2013/05/08(水) 19:10:17.99ID:???0820t
2013/05/08(水) 21:34:36.96ID:zJfXxHKJ【PHPのバージョン】5.3
【連携ソフトウェア】
【質問内容】
$encodingText=htmlspecialchars($writingText);
$encodingText=str_replace('\r\n','<>',$encodingText);
$encodingText=str_replace('\n','<>',$encodingText);
$encodingText=str_replace('\r','<>',$encodingText);
$encodingText=str_replace(PHP_EOL,'<>',$encodingText);
ここで聞く事なのかどうか。。2chのlogみたいにcsvにフォームからの書込みを一行保存したくて改行を<>に変換したいですけど
これだとcsv内は改行されてしまいます。。何故かPHP_EOLを使った部分で改行が「"改行<>"」という形でcsvに保存されます。
どうすりゃ改行を一行にまとめられますかね???ちなみに最初のhtmlspecialcharsは関係なかーたです
0821nobodyさん
2013/05/08(水) 21:40:22.63ID:???0822nobodyさん
2013/05/08(水) 21:52:05.37ID:???改行コード(\n)がシングルになってる。
展開させるためにはダブルにしろ。"\n"
htmlspecialcharsは出力の直前にかけろ。
ただし2chがそういう仕様ならそれを真似るなら仕方ない。
str_replaceでまとめられるものはまとめろ。
つまりstr_replace(["\r\n", "n"], '<>',$encodingText);
"\r"で改行なんて今更ない。昔あったのかも知らん。
遺贈。
0823nobodyさん
2013/05/08(水) 22:19:17.07ID:???反転させるような関数はありますでしょうか?
なければ100-(100*2)みたいな感じしかないでしょうか。
0824t
2013/05/08(水) 22:26:44.16ID:zJfXxHKJありがとうございます。str_replaceのシングルをダブルクオートに変えたら行けました。
どーもですどーもです。
ちなみにその[]で囲むやり方知らなくてこっちで動かなくて気になるんですができれば。。。。。
0825t
2013/05/08(水) 22:28:51.25ID:zJfXxHKJ-1をかけたらええですよ
0827t
2013/05/08(水) 23:17:42.41ID:zJfXxHKJおーどーもです。うーむ無理か。。
0828nobodyさん
2013/05/08(水) 23:57:01.25ID:???こうすればいけるよ。
>>826のは
5.4から array() の代わりに [] が使えるようになったよって意味の => かと。
0829nobodyさん
2013/05/09(木) 00:11:27.65ID:???0830nobodyさん
2013/05/09(木) 09:06:33.16ID:Jsywf66a【PHPのバージョン】5.3
【連携ソフトウェア】MySQL
【質問内容】
datetimeの比較がうまくいきません。
$start = new DateTime("2013/05/08 12:30:30");
$end = new DateTime("2013/05/04 12:30:30");
if( $start > $end )
{
echo "true";
}
else
{
echo "false";
}
としてもfalseのみが出ます。
仮に$startと$endを入れ替えてもfalseとなります。
http://php.net/manual/ja/datetime.diff.php を見るとオブジェクトの比較が出来ているようなのですが何か違っていますでしょうか?
■ このスレッドは過去ログ倉庫に格納されています