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

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

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん2012/05/16(水) 21:44:16.40ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

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

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

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

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0855nobodyさん2012/06/16(土) 01:39:55.13ID:???
池沼の中ではAOPが流行ってるらしいw
0856nobodyさん2012/06/16(土) 01:41:04.32ID:???
アスペルガー思考君は置いといて
良くてホスト言語の奇形児、悪くてDSLしか生み出さない非生産的なアレによくも執着できるもんだ
ポストOOPだと意味不明な煽りを真に受けた被害者の一人ってところか
ただのメタプログラミングなのに
0857nobodyさん2012/06/16(土) 01:49:18.33ID:???
>>856
何言語のどのような実装を指していますかWWWWWW
0858nobodyさん2012/06/16(土) 01:50:27.98ID:???
PHPってそもそもAOPはありえんだろ。
いつまでやってるの?
0859nobodyさん2012/06/16(土) 01:51:53.40ID:???
>>856
Spring for Androidもダメですか?
0860nobodyさん2012/06/16(土) 01:54:48.43ID:???
実装するだけならPHPでもAOPの実装なんて容易だろ
PHPでAOPの話を全くきかないのは
もともと柔軟なPHPにはAOPなんて不要だからだ
0861nobodyさん2012/06/16(土) 08:25:35.20ID:???
JavaのAOPはJavaがオブジェクト指向言語だから需要がある。
PHPはオブジェクト指向言語ではないからはじめから意味ない。
0862nobodyさん2012/06/16(土) 23:30:37.27ID:???
phpにできないことはない
0863nobodyさん2012/06/16(土) 23:38:09.87ID:???
糞言語phpしか使えないくせに
0864nobodyさん2012/06/16(土) 23:49:34.43ID:???
PHPに出来ること

他言語スレに出張できること
0865nobodyさん2012/06/17(日) 00:22:14.81ID:???
PHPはオブジェクト志向プログラミングを学ぶために最適な言語でしょうか?
0866nobodyさん2012/06/17(日) 00:32:33.77ID:???
>>1
0867nobodyさん2012/06/17(日) 02:04:47.04ID:c6FVl0A0
$conn=mysql_connect('localhost','sample_user','sample_pass');
if ($conn){mysql_select_db('sample_db',$conn);
$sql = 'SELECT * FROM counter';$query = mysql_query($sql,$conn);$i=0;
while($row=mysql_fetch_object($query)) {$aaa[$i]=$row->number;$bbb[$i]=$row->god$i=$i+1;}
}
という処理をclassに書いて、呼び出し
配列$aaaと配列$bbbにclassの外からアクセスするにはどうしたらいいのですか?
0868nobodyさん2012/06/17(日) 02:34:06.80ID:???
>>867
1. 関数化して一番外のスコープに$aaaと$bbbを定義し処理後にreturn array($aaa, $bbb)する
2. functionの前にstaticをつける
3. class Foo {}の{}内に作った関数を入れる
4. var_dump(Foo::関数名());

今のレベルじゃこんなもんでいいだろう。。
それをクラスに入れてくれって要求自体が滅茶苦茶なので
もうちょっとゆっくり勉強していきましょうね
0869nobodyさん2012/06/17(日) 02:38:07.58ID:???
なんじゃそら
0870nobodyさん2012/06/17(日) 03:44:51.78ID:c6FVl0A0
>>868
ありがとうございます。
class MyClass{
public static function triangle ($width, $height){
return array($width * $height / 2, 78999);}
}
print(MyClass::triangle(10,5). '<br>');
とするとArrayと出るのですが、
$width * $height / 2と78999をprintで出すにはどうするのですか?
0871nobodyさん2012/06/17(日) 03:49:42.62ID:???
>>870
print_r
0872nobodyさん2012/06/17(日) 04:28:57.71ID:???
まずは>>871の言うようにprint_rなどを使って配列の構造を確認
中身を把握したらこういうスクリプトになるだろう

class MyClass{
public static function triangle ($width, $height){
return array($width * $height / 2, 78999);}
}
$tri = MyClass::triangle(10,5);
echo $tri[0].'<br>';
echo $tri[1].'<br>';
0873nobodyさん2012/06/17(日) 06:15:09.22ID:???
文字列$strをファイルへ出力したときサイズがいくつになるか判りますか。
常に8*strlen($str)ですか。
0874nobodyさん2012/06/17(日) 06:16:34.09ID:???
>>1
0875nobodyさん2012/06/17(日) 11:10:33.05ID:Xyn42kVi
if($a)
{
//長い行数のコード
}
else
{
//短い行数のコード
}

上記のプログラムで$a=0と$a=1の場合について命令を記憶するメモリ消費量に違いはあるのでしょうか
if文で実際は処理されない長いスクリプトも実行時にメモリにロードされてしまうのかどうか知りたいです
0876nobodyさん2012/06/17(日) 11:14:17.66ID:???
長いスクリプトも実行時にメモリにロードされてしまう
なぜならば、実行している部分やまだ実行されていない部分を変更しても、変更前の動きをするからだ。
いったん、実行前に実行に適したバイナリデータへ変換してると思う。
0877nobodyさん2012/06/17(日) 12:24:49.99ID:???
そりゃ構文木をパースする時点でロードされるがな
0878nobodyさん2012/06/17(日) 12:30:25.45ID:???
ifの{がどこで閉じてるか1文字ずつ調べる必要があることを考えれば自明
08798752012/06/17(日) 15:00:09.08ID:???
>>876-878
ありがとうございます
0880nobodyさん2012/06/17(日) 16:29:26.68ID:???
さらに、1バイトずつ読み込むわけじゃないなら、一気に読み込むことも自明
0881nobodyさん2012/06/17(日) 17:21:05.27ID:???
プログラマは結婚できないんですか?
0882nobodyさん2012/06/17(日) 17:26:57.75ID:???
質問は>>1読んでIDつけてね
0883nobodyさん2012/06/17(日) 17:29:03.55ID:???
>>873
文字列の文字数とバイト数は、文字コードによって違います。
また、JISコードだと文字の並びでバイト数が違ったりします。
aaaあああ と aあaあaあのバイト数がそれぞれ12バイトと24バイトです。
08848732012/06/17(日) 20:26:43.79ID:???
>>883
よくわからないのでもっとわかりやすい説明でお願いします。
0885nobodyさん2012/06/17(日) 20:48:19.71ID:???
>>884
ここの回答者はムダにプライド高いから言葉遣いには気をつけること
08868732012/06/17(日) 20:51:46.85ID:???
>>885
そんな余計なレスは不要です。
答える気がないなら黙ってて下さい。
08878832012/06/17(日) 21:14:10.34ID:???
>>884
http://homepage3.nifty.com/toshi3/topic2.html
08888732012/06/17(日) 21:18:58.09ID:???
>>887
怪しいURLは踏みたくないので、要点だけまとめてください。
08898832012/06/17(日) 21:26:07.45ID:???
2ch見ててそれはねーな
08908732012/06/17(日) 21:29:28.57ID:???
>>889
意味不明です。なんの関係が?
答えてくれる気がもうないようなのであなたのレスは不要です。
08918832012/06/17(日) 21:31:41.20ID:???
俺は答えないので他の人よろしく。
0892nobodyさん2012/06/17(日) 21:33:18.93ID:???
以上ID出さないとこうなるぞという>>883の低脳な自演でした。

次の質問どうぞー
08938732012/06/17(日) 22:20:00.02ID:???
自己解決したのでいいです。
もう二度と質問しません。
さようなら。
0894nobodyさん2012/06/17(日) 22:21:22.17ID:???
回答者の気分を害せぬよう今後は気をつけること!
0895nobodyさん2012/06/18(月) 01:22:41.84ID:???
>>893
つりなのこの人?
0896nobodyさん2012/06/18(月) 01:24:59.10ID:???
だから言っただろ
ID出さない質問者に回答する行為は親切でもなんでもないって
ただ荒らし助長してるだけ
>>1って言えばちゃんと質問しなおすやつもいるんだから
言っても質問しなおさないやつには回答するなよ
0897nobodyさん2012/06/18(月) 01:30:17.79ID:???
>>896
ID出せば下らない質問でもクソ回答者様は答えてくれるのでしょうか?

あ、間違えました。天才回答者でした。
0898nobodyさん2012/06/18(月) 01:31:32.94ID:???
>>897
>>1
0899nobodyさん2012/06/18(月) 10:58:08.01ID:???
>>895
ID出さなかったから、偽物が登場しただけだと思われる。
0900nobodyさん2012/06/18(月) 15:15:28.24ID:IlHUnTEC
特定行のみ出力したいです。

<?php include($_SERVER["DOCUMENT_ROOT"] . "aaa..php"); ?>

ファイルをこんな感じで呼び出しています。1ファイルに1データを1行として約500行ならべて
ファイル上から好きな行を出力させる方法が知りたいです。
0901nobodyさん2012/06/18(月) 15:35:30.46ID:???
>>900
どういった動的コンテンツを作りたくて
何故、そのようにファイルに分けて都度インクルードにしたのか、
また、そのファイルの中身にはどのような規則性をもって内容が記載されているのか
この三つを答えてちょ。
もっと詳しい説明ができるのならば、それも全て書いてちょ。

それだけだと、
ファイルやめてデータベースにでも突っ込んで都度必要なものを引き出せ だとか
インクルードだけで何かするってことは、呼び出すファイル側にprintやechoが書いてあるのか?
だとか色々言うことが思い浮かびすぎて何とも言えない。
0902nobodyさん2012/06/18(月) 15:50:17.81ID:???
>>901
申し訳ないがどういったと言われてもうまく説明できない
データベースで作ればいいじゃんという意見もわかります。

データの内容としては簡素なもので

ああああ
いいいい
こんにちわ
5月18日

みたいな統一感のない形式でhtmlでマークアップしてる程度です

インクルードの応用みたいな形で特定行のみ呼び出せる方法があるのかなと思いまして
質問させていただきました。
09039022012/06/18(月) 15:51:19.83ID:IlHUnTEC
すみませんIDわすれました
0904nobodyさん2012/06/18(月) 17:14:06.23ID:???
ファイルの内容を変数に格納

変数の内容から指定行のみを出力
0905901 ◆.QtuCMFbD2 2012/06/18(月) 17:30:24.32ID:???
>>900

includeは、行を特定しての利用はできないよ。
なので好きな行だけ取り出すということで考えるならば>>904が言うように一旦変数に格納するなりの方法を利用するか、
もしくは、includeされる側のファイルを変数等で整理した上で利用し続けるかどっちかとなるよ。
大概はこの二通りに絞られると思われます。
0906nobodyさん2012/06/18(月) 17:32:22.71ID:???
相手がCSVならfgetcsv
0907nobodyさん2012/06/18(月) 17:33:11.97ID:???
>>904
>>905
ありがとうございます。勉強になりました。
調べて試してみたいと思います。
0908nobodyさん2012/06/18(月) 17:35:53.91ID:IlHUnTEC
>>906
レスありがとうございます
0909nobodyさん2012/06/18(月) 21:18:02.28ID:???
CSVじゃなくてもfgetcsvは使える。これまめな。
0910nobodyさん2012/06/18(月) 21:39:37.49ID:???
名前が悪い
0911nobodyさん2012/06/18(月) 23:35:46.92ID:???
phpにできないことはない
0912nobodyさん2012/06/18(月) 23:45:32.65ID:???
といっても一昔ほどの人気は無くなった
0913nobodyさん2012/06/19(火) 00:11:26.33ID:???
1.コア世代の人口減(新規学習者の減少)
2.Web開発をする必要がなくなった環境(Webサービスの増加)
3.スマートフォンの飛躍(Java、Objective-Cへの乗り換え)
4.しょせんバックエンドはつまらない(JavaScriptへの移行というか学習軸のメインをJavaScriptに)

まぁこんなところだな
一番響いてるのは2番目だな
html()の時代だからな
0914nobodyさん2012/06/19(火) 00:48:16.68ID:???
2,3だな。個人的には
0915nobodyさん2012/06/19(火) 08:42:32.90ID:???
4もいいな。jQuery楽しすぐる。
0916nobodyさん2012/06/19(火) 08:49:34.86ID:???
初めての言語としてPHPを選んだ人はかわいそう。
他で応用が効かない。
0917nobodyさん2012/06/19(火) 11:47:07.23ID:LybfvGzo
そうだね
0918nobodyさん2012/06/19(火) 14:09:09.84ID:???
php技術者資格ってみんな持ってる?
0919nobodyさん2012/06/19(火) 14:42:46.00ID:???
なんだその怪しい資格は
聞いたこともねえぞ
0920nobodyさん2012/06/19(火) 14:49:03.47ID:???
ちらっと初級の問題といてみたが実用向けの資格じゃねえなこれ
PHP博士にでもなりたいのか?って感じの問題ばっかでわろた
0921nobodyさん2012/06/19(火) 15:05:31.46ID:gZcJJVeE
ローカルサーバは32ビットでサーバは64ビットなため、
整数の計算で違いが生じて、昔のライブラリが正しく動きません。

出来たら32ビットの方に合わせたいのですが、
php.iniか何かの設定で変えることは出来るのでしょうか?
0922nobodyさん2012/06/19(火) 16:25:19.50ID:???
maxに文字列の浮動小数点が含まれる数字を入れると数字の変換に失敗して
正しいmaxがとれないのね。まさかと思ったわw
0923nobodyさん2012/06/19(火) 16:49:22.83ID:???
問72
PHPの関数htmlspecialcharsの名前の美しさに付いて熱く語れ(400文字)
0924nobodyさん2012/06/19(火) 22:13:06.32ID:???
while ($cond) {
 $cond = newCond();
 $i++;

添字や逆さまからたどっていくという構造上欲しい$iがこれより1つ少ない値なのですが
09259242012/06/19(火) 22:15:32.03ID:4HkY1ulr
編集中にshift+Enterをおしてしまいましたスミマセン

$cond = xxx;
$i = 0;
while ($cond) {
 $cond = newCond();
 $i++;
}

添字や逆さまからたどっていくという構造上欲しい$iがこれより1つ少ない値なのですが

while (1) {
 $cond = newCond();
 if (!$cond) break;
 $i++;
}

こうしたり単純に最初のループで$iを1つ減らせばとることはできるのですが
もっと違うやりかたで目的の$iを得る方法はないでしょうか?
0926nobodyさん2012/06/19(火) 22:21:47.17ID:???
>添字や逆さまからたどっていくという構造上欲しい$iが
何言ってるか分からん。日本語で説明してくれ。
09279242012/06/19(火) 22:26:19.00ID:4HkY1ulr
>>926
すみません。

$a = array(1,2,3,4,5);
$b = next($a);
$i = 0;
while ($b) {
$b = next($a);
$i++;
}
echo $i;

とりあえずこのコードを>>925以外の方法で(無限ループor$iを最後に1減らす)
3を表示する方法があれば教えていただきたいです。
0928nobodyさん2012/06/19(火) 22:51:37.09ID:???
何がしたいのかわからない
配列は$a[0]から始まるから1つ少ないのでは?
0929nobodyさん2012/06/19(火) 22:53:37.40ID:cnMZNGd8
生成されるhtmlのインデントがきれいになるように、
<?php ?>を必ずインデント0個で書くようにしてる人っていますか?

<div>
  <table>
<?php for ($i = 0; $i < 5; $i++): ?>
    <tr>
      <td>asdsad</td>
    </tr>
<?php endfor; ?>
  </table>
</div>

forやifがネストすると対応がわかりづらくなると思うのですが、問題ないですかね?
0930nobodyさん2012/06/19(火) 23:00:05.65ID:???
好きにすればいい
<?php ?>自体がインデントを考慮しない欠陥品だから
09319252012/06/19(火) 23:05:44.52ID:4HkY1ulr
>>928
それは例に出したものなのであまり疑問を持たないでいただけるとありがたいです。
実際は配列をたどるわけではなくて、DOMノードを上にたどってます。
あまりこだわると前へ進まないので、おとなしく-1することにします。
変な質問してすみませんでした。
0932nobodyさん2012/06/20(水) 01:07:12.05ID:???
PHPで、
htmlの中にphpを、よく入れています。
(例)echo "<p class=\"".$num."\">";

「PHPの使い方によっては、ページの表示が遅くなってしまう、重くなってしまう」
「一つのページに、変なPHPを書くと、ページ全体が重くなることがある」
ということを耳にしました。

どういうことをすると、重くなってしまうのでしょうか?
0933nobodyさん2012/06/20(水) 01:08:06.11ID:???
訂正
「一つのページに、変なPHPを書くと、ページ全体が重くなることがある」

「一つのページに、変なPHPを書くと、ウェブサイト全体が重くなることがある」
0934nobodyさん2012/06/20(水) 01:17:29.35ID:VRPBINJn
ループが多いのは当然として、
関数の定義が下の方にあるのも良くない。そこを読み込むまで処理が止まる。
後はSQL。データベース構成からSQL文まであるけど、これは考えないほうがいい
最適解が事実上存在しないからな。

とりあえず、自分が重いと感じてから修正するぐらいでいいよ
重くもないのに軽量化しても仕方ない
0935nobodyさん2012/06/20(水) 01:21:57.42ID:???
なんで質問者が下げて回答者が上げてんだw
0936nobodyさん2012/06/20(水) 01:24:27.71ID:???
>とりあえず、自分が重いと感じてから修正するぐらいでいいよ
おお、そんなものなのですか…! 
少し安心しました。

>関数の定義が下の方にあるのも良くない
これは知りませんでした。早速修正したいと思います。
素早いご回答、アドバイスありがとうございます。
0937nobodyさん2012/06/20(水) 01:25:50.38ID:???
>>934
>関数の定義が下の方にあるのも良くない。そこを読み込むまで処理が止まる。
意味が分からん。インタプリタが中間コードを生成して実行するんだが
>後はSQL。データベース構成からSQL文まであるけど、これは考えないほうがいい
>最適解が事実上存在しないからな。
世の中のチューニング屋さん失業ですね
0938nobodyさん2012/06/20(水) 01:40:02.94ID:???
>なんで質問者が下げて回答者が上げてんだw
それは回答者が馬鹿だからじゃないですか?
答えてくれたのでもう用済みですけどね。
またきますね。
0939nobodyさん2012/06/20(水) 01:56:56.83ID:???
もう少し上手く煽れ
0940nobodyさん2012/06/20(水) 02:24:33.52ID:VRPBINJn
>>937
おお、色々勘違いしてた。ありがとう
重さに関しては、基本的なところを書けるようになってからでいいと思う
チューニング屋さんが不要ってわけじゃないよ
>>938
そうだえn
0941nobodyさん2012/06/20(水) 02:34:13.27ID:???
>>940
じゃあ「考えなくていい」ってのはなんで?
0942nobodyさん2012/06/20(水) 03:03:18.68ID:???
phpのボトルネックはDB周り。
接続をプール仕組みはないし、DBデータをキャッシュする仕組みはない。
OpenPNEやWordpressは激重。
0943nobodyさん2012/06/20(水) 03:43:42.08ID:???
またお前か
0944nobodyさん2012/06/20(水) 05:32:15.27ID:???
>>942
Wordpressの重さは認める
0945nobodyさん2012/06/20(水) 06:25:37.03ID:???
PHPは欠陥言語だからな
0946nobodyさん2012/06/20(水) 06:42:47.10ID:???
はい
0947uy2012/06/20(水) 06:53:48.29ID:???
俺はゴミカスだがエリートゴミカスだ
お前らのような下級ゴミカスとは格が違う
0948nobodyさん2012/06/20(水) 09:29:27.49ID:???
なんでuyがここに居るんだよ
0949nobodyさん2012/06/20(水) 10:04:58.27ID:???
見てるスレ間違ったかと思っちゃっただろw
09509212012/06/20(水) 13:23:15.35ID:UA1ZvG7a
昨日相談した>>921ですが、やっぱりどうしようもないのでしょうか?
ググっても32ビットのソースを64ビットに変換する方法やその逆もありません・・。
0951nobodyさん2012/06/20(水) 13:42:47.14ID:???
32bitのapacheにできないの?
そもそも違いが出るのがおかしい
09529212012/06/20(水) 14:14:52.35ID:UA1ZvG7a
>>951
私が使っているレン鯖が64ビットなんです・・。
整数に違いが出るのはマニュアルにも書いてるとおりでして、
どうやって32ビットのコードを64ビットにするか、またはその逆かは
マニュアルに書いてないので尋ねた次第です。。
0953nobodyさん2012/06/20(水) 14:34:59.07ID:???
整数で違いが出るなら、オーバーフロー起こしてるんじゃないの?
INT_MAXとか使ってるならそれを32bitの方にあわせりゃ済む話だろ?
0954nobodyさん2012/06/20(水) 14:38:44.73ID:???
1+1の結果が32bitと64bitで違うって バグじゃねーの?
OSのバグをアプリケーションレベルで対応してもOSがアップデートしたらグチャっとなりそうです
0955nobodyさん2012/06/20(水) 14:40:52.07ID:???
具体的にどんな計算してるのかわからんことには・・・
レス数が950を超えています。1000を超えると書き込みができなくなります。