【PHP】下らねぇ質問はここに書き込みやがれ 64
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/02/09(土) 14:51:11ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 61
http://pc11.2ch.net/test/read.cgi/php/1201425479/
◆質問する時の注意
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を必ず明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくはトリップをつける事。
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0498nobodyさん
2008/02/18(月) 13:54:54ID:???0499nobodyさん
2008/02/18(月) 14:03:01ID:???0500nobodyさん
2008/02/18(月) 15:09:19ID:???0501nobodyさん
2008/02/18(月) 16:11:34ID:???0502nobodyさん
2008/02/18(月) 16:30:39ID:???Zend Frameworkで苦しんでるが社用物だからコード晒せないしなあ
問題切り分け中だが、切り分け終わったら自分で対応するしなw
お暇ならなんかエスパーしてくれ 「この辺が落とし穴だze」とか
0503nobodyさん
2008/02/18(月) 16:34:55ID:???メール送信とDBインサート周りでコケてたのだが、
無駄なクオートがあったのでzend_validationに書き換えたらいけた
スレ汚しすまそ
0505nobodyさん
2008/02/18(月) 16:44:22ID:F3LP+Vno2chのbbsmenu.htmlからカテゴリと板名を分けて抽出したいんだが、
うまい方法が思い付かん。
カテゴリリスト→板名リストと遷移するのが前提。
0506nobodyさん
2008/02/18(月) 16:52:58ID:???0508nobodyさん
2008/02/18(月) 17:48:16ID:???つhttp://www.php.co.jp/
0509nobodyさん
2008/02/18(月) 19:05:43ID:???$aaa{0}
ってどういう意味ですか??
$aaa[0]ならわかるのですが。
perlならハッシュのことだというのは分かるのですがPHPでもそうなんでしょうか?
0510nobodyさん
2008/02/18(月) 19:06:46ID:LoQffYNU自分のPCの画面では一分間何も表示されなくて、その後、6回書き込まれた掲示板が表示されます。
別に自分の画面は表示されなくていいんですが、
他の人のPCでこの1分間の間に掲示板にアクセスした場合、表示されるんでしょうか?
あとこの1分間の間に閲覧者が書き込みを行うこともできますか?
その時の書き込みの順番は、自分が6回書き込んだ後に閲覧者の書き込みになるのではなく
ちゃんと割り込んで書き込みできますか?
多分大丈夫だとは思うんですけど心配になったので一応聞いてみました。
0511nobodyさん
2008/02/18(月) 19:14:41ID:O2zzThQYカスタム関数のdefaultを空白('')にして、かつ、もし値があればstring_format(%0.1fなど)して表示するにはどうすればいいですか?(できればif文を使わずに)
現状では、値が無い場合に0.0という表示が必ず出てしまいます。
defaultを先にしても後にしても同様です。
どなたかお願いします。
0512nobodyさん
2008/02/18(月) 19:22:26ID:???>$aaa{0}
>ってどういう意味ですか??
>$aaa[0]ならわかるのですが。
デバッグしてみればわかるでしょうに。
一緒。
0513509
2008/02/18(月) 19:33:04ID:???ありがとうございましたm(_ _)m
0514nobodyさん
2008/02/18(月) 19:59:27ID:???まず何からしたら良いのか徹底的に指導願いします
0515nobodyさん
2008/02/18(月) 20:00:09ID:???0517nobodyさん
2008/02/18(月) 20:16:36ID:???何から、ねえ。
別に公開しなけりゃ好き勝手に遊べばいいんじゃねーの。
てことでローカルホストでwebサーバ走らせる勉強から。レンタルサーバで馬鹿やると恥ずかしいだろうからね
公開サービスを目指すなら、危険性のある事をある程度は把握しといた方がいいな
ttp://www.atmarkit.co.jp/fsecurity/index/index_hoshino.html
なんかがまとまってて判りやすい方かな。
0518nobodyさん
2008/02/18(月) 20:21:20ID:???0519nobodyさん
2008/02/18(月) 20:22:46ID:???0520nobodyさん
2008/02/18(月) 20:22:55ID:???まずプログラム基礎を理解するために、
ブラウザ以外の特別な環境が必要ないJavaScriptでちょっとしたもの書きながら勉強するのがお勧め。
JavaScriptがある程度理解できれば、その他の言語もある程度わかるはず。
とくに目標がないなら、PHPからはじめることはないからね。
0521nobodyさん
2008/02/18(月) 20:32:05ID:???このテキストのこの単語がわからないとか、この機能がわからないってのなら説明できる。
でも全部教えては無理よ。とりあえず>>1-8のテンプレ読んで、
あとは「PHP 初心者」あたりでぐぐって出たサイト一通り見てはどうだろ。
0522514
2008/02/18(月) 20:34:12ID:???テンプレをじっくり読んできます。
0523514
2008/02/18(月) 20:38:02ID:YSts7gLU失礼しました。
0524nobodyさん
2008/02/18(月) 21:56:26ID:???そのまま使うのではなく、自分で考える事が重要だ。
考えずに使ってたらおにいたんがハッキングしちゃうからな。
0526nobodyさん
2008/02/18(月) 22:00:21ID:???0527nobodyさん
2008/02/18(月) 22:08:27ID:???$HENSU[$a] = "".$_POST["$HENSU[$a]"]."";
↑の様に記述したのですが取り込むことが出来ません
具体的にどのようにすれば解決できるのかご教授お願いいたします
(※$aは1〜30まであります)
0528nobodyさん
2008/02/18(月) 22:10:05ID:???正しくは
$HENSU[$a] = "".$_POST["HENSU[$a]"]."";
↑で取り込めません
0529nobodyさん
2008/02/18(月) 22:10:32ID:Cm9tgJOR0531nobodyさん
2008/02/18(月) 22:21:55ID:xGg4BipF確実にstrlenがコールできるなら良いのですが
strlenはmb_strlenに置換されてたりする場合があるかと思うので、
とても不安です。
0533nobodyさん
2008/02/18(月) 22:29:16ID:YSts7gLUマニュアルをコピペしてそれを使うなという事でしょうか?
0534nobodyさん
2008/02/18(月) 22:37:00ID:???0535nobodyさん
2008/02/18(月) 22:56:36ID:???JavaScriptとPHPどっちが難しいと言われればJSのが難しかったなw
あれ色んな記述ができすぎるからプログラム初心者には向かないんじゃね?
0536nobodyさん
2008/02/18(月) 23:02:24ID:???言語の難易度はポインタとオブジェクト指向で決まる
0538nobodyさん
2008/02/18(月) 23:07:59ID:???ActionScriptじゃないのかそれ
0540nobodyさん
2008/02/18(月) 23:19:00ID:Ez7ZH7Qxnewがあるとか関係無いから。
0541nobodyさん
2008/02/18(月) 23:23:05ID:???所謂現状のJavaScriptはプロトタイプベース言語であってクラスベースじゃねーよ
もちろん仕様三版にもクラスって言葉は出て来るけどクラスベースな言語で言う「クラス」としてじゃない。
classって言葉自体は単なるFuture Reserved。
2.0仕様がクラスベース言語として生まれ変わるバージョン。
タマリンや、ある意味での先行実装であるActionScriptが参考になる
0542nobodyさん
2008/02/18(月) 23:24:55ID:???JavaScriptはオブジェクト指向言語なんだけど。
0543nobodyさん
2008/02/18(月) 23:26:53ID:???0544nobodyさん
2008/02/18(月) 23:30:47ID:???ブラウザによっては動かなかったとしても、おおまかなことが学べればいいんだし。
変数の使い方、関数やオブジェクトの使い方、条件処理、ループ処理なんかの基礎的なことができれば。
0545nobodyさん
2008/02/18(月) 23:35:35ID:xGg4BipFstrlenを確実に呼び出すにはどうしたらいいの?
っていうか
$foo="まこ"
$cnt=0;
while($foo as $dummy) { $cnt++;
0546nobodyさん
2008/02/18(月) 23:38:51ID:???0547nobodyさん
2008/02/18(月) 23:40:29ID:???0549nobodyさん
2008/02/18(月) 23:46:03ID:???0551531
2008/02/18(月) 23:50:28ID:???お邪魔したし真下
<?php
function strbyte($str) { $cnt=0; while($str[$cnt]) {$cnt++;} return $cnt; }
$foo="マ○コabdアの川流れ"; $encs = array('sjis-win', 'eucjp-win', 'utf-8');
foreach ($encs as $enc) { var_dump(strbyte(mb_convert_encoding($foo, $enc, 'sjis-win'))); }
0552514
2008/02/19(火) 00:05:59ID:OsGt77+r次から次へと新しい事を発見してキリがないなっ!と思いました。
某所でアップロードプログラムはセキュリティに気をつけてくださいってのがいまいち理解できなかったです。
今日は寝ます。ありがとうでした。
でわ
0554nobodyさん
2008/02/19(火) 00:25:27ID:???>>531 じゃないけど、そうらしい。
http://jp2.php.net/manual/ja/ref.mbstring.php#mbstring.overload
0555nobodyさん
2008/02/19(火) 00:26:17ID:???http://jp2.php.net/manual/ja/ref.mbstring.php#mbstring.overload
0556531
2008/02/19(火) 00:31:38ID:???これでいいっぽいです
失礼しました
http://jp2.php.net/manual/ja/ref.mbstring.php#55832
function str_sizeof($string) {
return count(preg_split("`.`", $string)) - 1 ;
}
0557553
2008/02/19(火) 01:15:18ID:???知らなかった。ありがとう。
0558nobodyさん
2008/02/19(火) 01:28:40ID:???return count(preg_split("`.`", $string)) - 1 ;
rerurnの後のいろいろ処理を付け加えるのは美しくない!
見にくい!
count関数の中に関数いれるのは
処理が重くなる、美しくない
何でもかんでも1行プログラミングにするな!
コーディングで考える優先順位
1.負荷
2.見やすさ
俺ならこう書く
$string = preg_split("`.`", $string);
$string_count = count($string)-1;
return $string_count;
0559nobodyさん
2008/02/19(火) 01:33:35ID:???公式に書いてあるのはそれがシンプルだってことじゃない?
いちいち変数に入れる方が無駄だと思うし、処理を一括できるほうが美しいと思う。
処理の意味も関数名でわかるし。
0560nobodyさん
2008/02/19(火) 01:33:39ID:???0563nobodyさん
2008/02/19(火) 01:50:02ID:???実際の実行時は同じってことはないのかね??
といいつつも、複雑な1行だと却って構文解析?の時間がかかりそうな気がする
オレがいる。
0564nobodyさん
2008/02/19(火) 01:59:27ID:???括弧連鎖が嫌なら複数行に開くし。
スコープ次第では実行時解釈で縮まるんだろうかね。
0565nobodyさん
2008/02/19(火) 02:03:15ID:???0566558
2008/02/19(火) 02:15:19ID:???低脳土方職人にはわかるまい
わかりやすい変数にいれて、みやすくしても処理速度は0.000001秒くらししか変わらん
見にくいコードにによる全体的な作業ロスを考えろ
俺はチーム作業が多いから
見易さ重視になってるし
みにくいコードにわかりやすくコメントまで付けてるよ
0567nobodyさん
2008/02/19(火) 02:15:48ID:???そのために正規表現で分割してその数カウントしてバイト出すするなんて無駄にも程がある。
0568558
2008/02/19(火) 02:18:32ID:???最高でも2個くらいまでにしてくれ
0569nobodyさん
2008/02/19(火) 02:19:04ID:???そんなことはいちいち言うことじゃない。基本だ。
そして、>>558は可読性の面においてもあんまり必要ないんじゃないの?って話だ。
自分のルールに反論されたからって喧嘩腰で返すのは子供だ。
0570nobodyさん
2008/02/19(火) 02:22:53ID:???返り値が一目で判断できる変数名にして欲しい
0571558
2008/02/19(火) 02:26:46ID:???簡単にいえばバカでも、すぐわかるようなコードじゃないと
作業効率は落ちるんだよ
0572nobodyさん
2008/02/19(火) 02:28:42ID:???そーゆー書き方もアリだけど、一行で書くのもアリなの。
んなことでむきになってどうすんの。
0573558
2008/02/19(火) 02:32:31ID:???複数人で共同作業すれば、どこでも同じ
ベストは誰が見ても一目でわかるコード
負荷がかからないなら、できるだけわかりやすいコードにした方がいいよ
0574nobodyさん
2008/02/19(火) 02:38:33ID:???return の後を変数にするか関数で一行で書くかは場合によりけり。
一行で書けるコードをわざわざ代入連発するより、一行で書いてコメント添えるだけでも通じる。
負荷が少ないからといってリソース使いまくっていいわけでもない。
俺ルールの押し付けもほどほどに。あともうこの話題はスレ違い。
0576nobodyさん
2008/02/19(火) 02:41:14ID:???同意。全然汚くない。
これが汚いのならPEARのソースは悲惨なことになる。
百歩譲って見にくいというなら、俺ならpreg_match_countとか新しい関数を定義し
return preg_match_count($str, "`.`");
とする。
チームがどうとか上司がどうとか誰も聞いていないし聞きたくない。
そんなに見にくいならLispでも覚えるか、新しい眼鏡買ったらいいんじゃね
0577558
2008/02/19(火) 02:48:05ID:???趣味でサイト作りするなら
オナニーコード書いてる方がいいかもね
他人から見たオナニーコードほどきもいもんんはないよ
俺は相手を気遣ってコードを書いてるから
どうしても複雑なコードになってしまうときは
かなりわかりやすくコメントを書くよ
0578nobodyさん
2008/02/19(火) 02:50:39ID:???0580558
2008/02/19(火) 02:52:03ID:???0581nobodyさん
2008/02/19(火) 02:53:32ID:???0582558
2008/02/19(火) 02:54:39ID:???0583nobodyさん
2008/02/19(火) 02:55:25ID:???まあ放置だ。今回はNGしやすい。
0584558
2008/02/19(火) 02:56:58ID:???しかも俺俺関数で返しやがったら最悪
0585nobodyさん
2008/02/19(火) 03:14:28ID:???0586558
2008/02/19(火) 03:49:50ID:???$string_count = count($string)-1;
return $string_count;
1.見やすい
2.コード拡張しやすい
return count(preg_split("`.`", $string)) - 1 ;
1.見にくい
2.コード拡張しにくい
ちょっとしたコード拡張のために
わざわざ分解しないとけいない時間ロス
0587558
2008/02/19(火) 03:59:21ID:???function str_sizeof($string) {
$string = "";
$string_count = 0;
$string = preg_split("`.`", $string);
$string_count = count($string)-1;
return $string_count;
}
0588558
2008/02/19(火) 04:00:51ID:???function str_sizeof($string) {
$string_count = 0;
$string = preg_split("`.`", $string);
$string_count = count($string)-1;
return $string_count;
}
0589nobodyさん
2008/02/19(火) 04:32:57ID:???0590nobodyさん
2008/02/19(火) 07:13:14ID:???短く書いたら処理速度も速くなると勘違いする初心者が多くて困る。
0591nobodyさん
2008/02/19(火) 07:20:51ID:???$string = preg_split("`.`", $string);
$string = count($string)-1;
return $string;
$string = preg_split("`.`", $string);
return count($string) - 1 ;
0592531
2008/02/19(火) 07:35:36ID:???すまん
スレだから短くしてただけで
普段はわかりやすい名前の変数に代入しまくりだよ
あと、>>556のコードはコピペだ
0593514
2008/02/19(火) 08:00:00ID:OsGt77+r0594nobodyさん
2008/02/19(火) 08:27:59ID:???0595nobodyさん
2008/02/19(火) 09:26:39ID:???returnにはあんまり書きたくないな
0596nobodyさん
2008/02/19(火) 10:15:05ID:???■ このスレッドは過去ログ倉庫に格納されています