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

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

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

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

◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】

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

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
08938892008/12/23(火) 04:27:42ID:6F++HAzm
>>890-892
ありがとうございます。
教えどおり直接比較してみることにします。

ちなみに画像データは
hash_fileで比較しようとしてたのですが、これも直接比較する方法があるのでしょうか?
0894nobodyさん2008/12/23(火) 04:51:43ID:???
バイナリで比較すりゃいいじゃん
0895nobodyさん2008/12/23(火) 05:08:34ID:KPRHaWl+
http://phpc2.seesaa.net/article/50643791.html

ここのページのサンプルの、

<?php

class Food {

private $name;

public getName() {
return $this->name;
}

}


これを実行したらエラーになるんだけど、なんで?
0896nobodyさん2008/12/23(火) 05:13:31ID:???
もう一個下の例なら
0897nobodyさん2008/12/23(火) 05:18:16ID:???
4だからだろ
0898nobodyさん2008/12/23(火) 05:24:10ID:???
>>893
string 型はバイナリセーフなので比較演算子 == が使える
二つのファイルを fread() 等で読み込んで比較するだけ

I/O に掛かる時間は馬鹿にならないから直接比較する機会は減すよう、
それこそハッシュ値やメタ情報(ファイルサイズetc)を活用するといい
0899nobodyさん2008/12/23(火) 05:58:11ID:???
PHPのオブジェクト指向の一番カンタンな例

<?php
class aaa
{
var $bbb="はじめまして";

}
$ccc = new aaa();

echo $ccc->bbb;
?>
0900nobodyさん2008/12/23(火) 06:00:49ID:???
var って必ず無いとダメなのかなぁ?と思って、

<?php
class aaa
{
$bbb="はじめまして";

}
$ccc = new aaa();

echo $ccc->bbb;
?>

って、「var」を削って保存して実行してみた。
結果、問題なく表示される。varいらないジャン?
0901nobodyさん2008/12/23(火) 06:01:46ID:???
それは良かったね
0902nobodyさん2008/12/23(火) 06:02:21ID:???
ごめんvarが無いとエラーになった
まちがえてたごめん
0903nobodyさん2008/12/23(火) 10:51:31ID:gaPLrdeb
CackePHP使ってる人っているんですか?
0904nobodyさん2008/12/23(火) 11:24:31ID:???
>>903
いなきゃ開発なんてされないだろ
0905nobodyさん2008/12/23(火) 11:35:35ID:???
varなんてどうせ使わないから問題ない。
全部privateが基本だからな。
0906nobodyさん2008/12/23(火) 11:37:26ID:???
まだPHP4も現役だぜ?
0907nobodyさん2008/12/23(火) 11:43:13ID:gaPLrdeb
個人サイトで使ってる人って少ないですよね
0908nobodyさん2008/12/23(火) 11:46:09ID:???
4も5も通用するvarを使う以外にありえん
0909nobodyさん2008/12/23(火) 11:51:05ID:???
php4をいつまでも考えてるから世間は移行しない
0910nobodyさん2008/12/23(火) 12:05:33ID:???
何を言ってるんだお前は
0911nobodyさん2008/12/23(火) 12:12:06ID:???
>>907
普通個人サイトつったら簡単な処理にphp入れてるぐらいだからな
例えば背景をランダムで出したり今日の日付出したり
ブラウザで条件分岐したりとjavascriptでできるようなことをやってるのが多い
掲示板などのWebアプリケーションにしても
わざわざ自分で作って運用してるほうが稀
0912nobodyさん2008/12/23(火) 12:27:10ID:???
新しいシステムを作るのにいまさら4はあり得ないだろ。
既存システムの保守/拡張のために使わざるを得ない時にしぶしぶ使うのが4。
まあ、いまだにPHP4のシステムを何の移行計画もなく運用してる所なんてクズ企業だけだろうが。
(移行しない=機能拡張しないor使い捨てる、というのまで計画に含めての話)

>907
Cakeに限らず、フレームワークを個人で利用する意義はかなり薄い。
覚えるまでのコストが高いからな。設置も難しいし。
どっちかっつーと大量のプログラムを作るプロ向け。技術的な難度というよりも、性質上そういうもんなんだよ。
0913nobodyさん2008/12/23(火) 13:14:45ID:gaPLrdeb
>>911
>>912
回答ありがとうございました。 すっきりしました
0914nobodyさん2008/12/23(火) 13:39:36ID:KPRHaWl+
予約語の取り扱いの定義がいまいちアイマイだな

「予約語は、関数の名前として使用できません」
と書いてあるのもあるし、
「使用できますが、混乱を招くのでおすすめできません」
と書いてあるのもあるし。

マニュアルによって、言ってることが違うんだよな。
0915nobodyさん2008/12/23(火) 13:48:02ID:???
後者言ってるページてどれ?
0916nobodyさん2008/12/23(火) 13:53:03ID:KPRHaWl+
http://itbtech.itboost.co.jp/man/php_man/reserved.html

以下にPHPの予約語と定義済みの定数および変
数の一覧を示します。ここに は関数は含まれず、
言語の構造が含まれます。混乱を招くことが確実
である ため、これらの名前を変数、関数、定数、メ
ソッドの名前として使用するべ きではありません。
0917nobodyさん2008/12/23(火) 13:53:41ID:???
どこに使用できるなんて書いてあんの?
0918nobodyさん2008/12/23(火) 14:17:29ID:???
>>914
公式に書いてあることを優先しましょう
0919nobodyさん2008/12/23(火) 15:07:29ID:KPRHaWl+
OOPなんだけど、
newしたら、必ずメソッドを呼び出して
使うというのがノウハウというか、
通常の流れなの?
0920nobodyさん2008/12/23(火) 15:18:51ID:???
"必ず"ではない
0921nobodyさん2008/12/23(火) 15:25:29ID:KPRHaWl+
でも初心者向けのサンプル見ると、
ほとんど全部そういう流れなんだよね。
クラスを定義して、
そのクラスの中でメソッドを定義して、
そんでnewして、メソッドをよびだして、、、て流れ。
0922nobodyさん2008/12/23(火) 15:29:39ID:???
まじでか
0923nobodyさん2008/12/23(火) 15:34:12ID:KPRHaWl+
OOPなんだけど、OOPって、言語によって、主に、

(1)多重継承できるOOPと、
(2)多重継承できないOOPと、

2種類あるようなんだが、この理解であってる?

ちなみにリサーチには5分かけました。
0924nobodyさん2008/12/23(火) 15:38:20ID:???
クイズか?
2元に分けたいかどうかは自由だが、
普通、できるかできないかのどちらかだよな?
0925nobodyさん2008/12/23(火) 15:38:53ID:???
>>923
OOPって何か解って言ってる?
0926nobodyさん2008/12/23(火) 15:40:20ID:???
>>921
初心者用だからでしょ。
0927nobodyさん2008/12/23(火) 15:42:27ID:KPRHaWl+
ちなみに、PHPのOOPは多重継承できないみたいですが、
どう考えても多重継承できた方が便利だと思う夕暮れなのですが、
皆様いかがお過ごしでしょうか。
0928nobodyさん2008/12/23(火) 15:42:36ID:???
暇つぶしに答えてるんだが、もちっとおもろいネタ考えてくれ。
だいたい、テンポ遅い。もうすこしがんばれ
0929nobodyさん2008/12/23(火) 15:43:27ID:KPRHaWl+
すいません、多重継承って言葉の意味がわかってませんでした。
0930nobodyさん2008/12/23(火) 15:44:07ID:KPRHaWl+
「単一継承では,あるクラスのスーパー
クラスは簡単に決まります。直接上のス
ーパークラス,そのスーパークラス,その
またスーパークラス,…と一列に並ぶ単
純な関係です。」


↑これが多重継承だと思ってた
0931nobodyさん2008/12/23(火) 15:44:35ID:???
ルーズに多重継承出来た方が便利という奴と、
多重継承を制約しておいた方がクリーンな実装ができるという奴がいる。
おれは後者、あなたは前者。
0932nobodyさん2008/12/23(火) 15:45:17ID:???
>>930
それは笑えたwアホすぎるw
0933nobodyさん2008/12/23(火) 15:47:22ID:???
多重継承を多用するやつは、interfaceとコンポジッショの使い方がへぼいのな
0934nobodyさん2008/12/23(火) 15:51:33ID:PHOPDLlW
配列に特定の文字があるか調べたいと思います。

$array = array("今日は晴れです");
if(array_search("晴れ",$array)){
echo 1;
}

としたのですが、1が出力されません。
in_arrayだと完全一致になるし、forで配列を1つずつ読み込みながら
確認するのも負荷がかかりそうです。良い方法はないでしょうか?
0935nobodyさん2008/12/23(火) 15:56:06ID:???
> forで配列を1つずつ読み込みながら
> 確認するのも負荷がかかりそうです

負荷の話はやってみてからにしようぜ

array_map preg_match を組み合わせてもいいが一緒
0936nobodyさん2008/12/23(火) 16:00:51ID:???
つ preg_grep
0937nobodyさん2008/12/23(火) 16:01:41ID:KPRHaWl+
そういうときって正規表現使うのが一般的なんじゃないの?
09389342008/12/23(火) 16:01:47ID:???
>>935
「禁止単語の指定」なるものを作っているのですが、
入力項目1つに対して、調査する検索単語分のforが必要になると
負荷がかかると思うのです。実際にやっても少し重くなりました。
0939nobodyさん2008/12/23(火) 16:02:04ID:???
>934
array_searchは「配列の中に"晴れ"が存在するか?」であって、「配列の中の文字列に"晴れ"が存在するか?」じゃないからな。
使うのはarray系のメソッドじゃなくて、文字列検索系のメソッドだ。
お前のやりたい処理は本質的に「配列を1つずつ読み込みながら確認する」事なのだから、コードがそうなるのはむしろ自然。

それと、負荷問題を想像で語るな。
遅くともいいから動くものを作って、それから速度を気にしても遅くない。
0940nobodyさん2008/12/23(火) 16:03:30ID:???
なんか、異次元のソースだな
09419342008/12/23(火) 16:04:59ID:???
>>936
preg_grepで出来ました!ありがとうございます。

>>939
負荷云々は実際にやった上での意見ですから・・。
0942nobodyさん2008/12/23(火) 16:06:04ID:KPRHaWl+
>>938
それって掲示板とかで
「アホ」とか「死ね」とかって書けないようにするとか
そういう処理だよね。だったらやっぱり正規表現じゃないの?

perlのスレだったら2分でコード出してくるよ
0943nobodyさん2008/12/23(火) 16:06:39ID:???
>>935(なぜ、ID出さん?)
それは設計の問題だろ

> 入力項目1つに対して、調査する検索単語分のforが必要になると
> 負荷がかかると思うのです。

検索単語分のforが必要になるとか、どうかしてる
0944nobodyさん2008/12/23(火) 16:07:31ID:???
ああ、目視とはいえ負荷のチェックはやってるのか、失礼。

検索対象が複数あるような状況でpregを使ったら死ぬほど遅くなるから、文字コードを揃えてからstrposないしstr_replace使え。
それ以上の高速化は転置インデックスでも生成するしかないが、よほど大量に処理するのでなければ生成のコストのほうが高い。
何より、コードが読みづらくなる。
0945nobodyさん2008/12/23(火) 16:08:29ID:???
>>934
>>941

おまえ、自分で書いてておかしいと思わないか?
>>934のソース、動かないんだろ。
どうして負荷の計測ができるんだよ
0946nobodyさん2008/12/23(火) 16:09:13ID:???
そうそう、配列を育成するとかいう段階でなんか間違ってると思え
0947nobodyさん2008/12/23(火) 16:11:28ID:???
負荷の話なんて、
プランA、プランBがあって、相対的にどちらが重いから良い方を選択する。

動かないソース提示しといて、負荷計測しましたってなんだよそれ
0948nobodyさん2008/12/23(火) 16:13:51ID:???
次、行ってみよう
0949nobodyさん2008/12/23(火) 16:16:15ID:???
forもおちおち使えない糞マシンっていつの時代の遺物だよw
0950nobodyさん2008/12/23(火) 16:17:42ID:???
ID:KPRHaWl+
の自作自演、お粗末
>>934
>>938
>>942

君レベルで自作自演するときは、ブラウザー分けた方がいいよ。
0951nobodyさん2008/12/23(火) 16:25:18ID:???
ブラウザー(笑)
0952nobodyさん2008/12/23(火) 16:27:12ID:???
環境によってはエラーがディスプレイに出力されないから気付かない人もいるだろうね
0953nobodyさん2008/12/23(火) 16:29:08ID:???
そりゃ自分のphpの設定次第だろ
0954nobodyさん2008/12/23(火) 16:33:06ID:???
>>952
それは何のレス?
0955nobodyさん2008/12/23(火) 16:34:00ID:???
>>954
>>1
0956nobodyさん2008/12/23(火) 16:34:20ID:???
>>936で答えが出てるのに、なんでみんなそんなに燃えてるの?
それとも一人だけ?
0957nobodyさん2008/12/23(火) 16:34:57ID:???
↓こいつだけ
0958nobodyさん2008/12/23(火) 16:37:39ID:???
お、おれ?
0959nobodyさん2008/12/23(火) 16:38:06ID:???
   i⌒ヽ;;|.  -=・=‐  .‐・=-.|
0960nobodyさん2008/12/23(火) 16:39:40ID:???
文字列中に特定の文字があるかどうか調べるならstrposでいいだろ
何でもかんでも正規表現使う奴は頭悪いよなー
それしか知識の引き出しがないんだろうなー
0961nobodyさん2008/12/23(火) 16:39:42ID:???
学校が休みに入ると毎回こういう流れになる
あつくなる奴は学習能力ないのかw
0962nobodyさん2008/12/23(火) 16:44:36ID:???
いや、たぶん、掲示板のNGワード実装だと、
NGワードが大量にあって、対象文字列も長い。
そうすると、単純にstrposは使いづらいってことだろう。
でも、配列ってのは頭使わな過ぎ。
0963nobodyさん2008/12/23(火) 16:47:41ID:???
preg_grepは入力が配列で、その各要素に対する検索が正規表現だろ?
そもそも投稿記事が配列というのが謎
0964nobodyさん2008/12/23(火) 16:54:22ID:???
謎ではなくて単に関数の用途を理解してないだけ
0965nobodyさん2008/12/23(火) 17:02:12ID:???
関数の用途を理解していないのではなくて単に入力のデータ構造を理解してないだけ
0966nobodyさん2008/12/23(火) 17:14:06ID:???
>文字列中に特定の文字があるかどうか調べるならstrposでいいだろ

どうしてこういう結論を出したかkwsk聞こうか
まさか思いつきとかなんとなくで書いたわけじゃないだろうな
0967nobodyさん2008/12/23(火) 17:14:08ID:???
4年目の奴、知識だとか資格はすごい多いんだわ。
それだけで天狗になっちゃってる感じ。
知識とスキルは違うんだよ。仕事ってのは学校の試験と違って
わかるところから片付ければ良いわけじゃないし、最後には
百点の状態にしなければならないんだってのが理解できないらしい。
0968nobodyさん2008/12/23(火) 17:23:34ID:???
お前よりは出来ると思う
0969nobodyさん2008/12/23(火) 17:42:33ID:???
>>967
何も無いあなたよりマシだと思う
0970nobodyさん2008/12/23(火) 18:17:09ID:???
無職必死だなw
0971nobodyさん2008/12/23(火) 18:23:09ID:???
休みパワーってすごいな
1日ぶりにみたらこんなスレ伸びててビックリだ
0972nobodyさん2008/12/23(火) 18:28:57ID:???

なんかFireFoxだと普通に見れるんですが、IEだとリダイレクト繰り返して
Internet Explorer ではこのページは表示できません ってでてくるんですが、
Header関数使ってないのにリダイレクトしまくるって事あるんでしょうか?

0973nobodyさん2008/12/23(火) 18:30:27ID:???
IE7.0.5730.13です
0974nobodyさん2008/12/23(火) 18:30:56ID:???
>>1
0975nobodyさん2008/12/23(火) 18:31:33ID:???
>>972
ブラウザのバグかも。PHPに関係なくブラクラっぽくなるw。
0976nobodyさん2008/12/23(火) 18:37:02ID:KPRHaWl+
<?php
echo <<<'EOT'
My name is I am printing some
Now, I am printing some
This should not print a capital 'A': x41
EOT;
?>

なんかこれでエラーなるんだけど??
0977nobodyさん2008/12/23(火) 18:38:48ID:???
ヴぁーじょんぐらい書けや
0978nobodyさん2008/12/23(火) 18:40:14ID:???
マルチ乙

> エラーなるんだけど??
だからなに?
エラーが出たらエラーメッセージとphpのバージョン必須
0979nobodyさん2008/12/23(火) 18:43:51ID:KPRHaWl+
Parse error: syntax error, unexpected T_SL in

PHP5
0980nobodyさん2008/12/23(火) 18:46:15ID:???
php5ってw
なぜ省く
0981nobodyさん2008/12/23(火) 18:46:26ID:???
マニュアルくらい見ろ
0982nobodyさん2008/12/23(火) 18:47:10ID:KPRHaWl+
もしかしてNowdocって5.2.6では使えない?
0983nobodyさん2008/12/23(火) 18:47:45ID:KPRHaWl+
「PHP 5.3 α1に実装」とかって書いてある

実装されてない機能の解説記事を書くなよ
0984nobodyさん2008/12/23(火) 18:48:23ID:???
文字通りPHP 5.3 α1に実装されてるが
0985nobodyさん2008/12/23(火) 18:48:42ID:???
> 「PHP 5.3 α1に実装」とかって書いてある

ID:KPRHaWl+って日本語読めるのか、知らなかった
0986nobodyさん2008/12/23(火) 18:50:47ID:???
MLに参加して、予定している機能はドキュメント化するなって要望を送ればいい。
一人を除いてみんな知ってる話だからな。
0987nobodyさん2008/12/23(火) 18:57:42ID:???
Nowdoc ・・・
0988nobodyさん2008/12/23(火) 19:00:57ID:???
 注意: Nowdoc のサポートは PHP 5.3.0 で追加されました。

古い記事見てるんだな、α1とか
0989nobodyさん2008/12/23(火) 19:04:16ID:???
>>980
次スレよろ
0990nobodyさん2008/12/23(火) 19:11:43ID:???
5.2.8が最新版なのか
入れたほうがいいのかな?
でもxamppに入れてくれないと
インストールできない、、、
0991nobodyさん2008/12/23(火) 19:15:36ID:???
xampp(笑)
0992nobodyさん2008/12/23(火) 19:16:44ID:???
【PHP】下らねぇ質問はID出して書き込みやがれ 78
http://pc11.2ch.net/test/read.cgi/php/1230026935/
レス数が950を超えています。1000を超えると書き込みができなくなります。