トップページ⇒php
982コメント234KB

PHP総合雑談スレ

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2008/01/14(月) 21:35:11ID:???
PHP全体の雑談のようなスレがなかったからたてた
反省はしていない
0545nobodyさん2009/03/01(日) 22:27:06ID:???
>>544
選ぶ理由は?
0546nobodyさん2009/03/01(日) 23:53:29ID:???
かっこいいから
0547nobodyさん2009/03/02(月) 04:00:33ID:???
今からPHP4を選ぶ理由はないだろ
0548nobodyさん2009/03/02(月) 12:28:03ID:???
nai
0549nobodyさん2009/03/02(月) 13:38:26ID:???
ttp://d.hatena.ne.jp/hnw/20090228
これ、この板では全く問題になってないから、思い過ごしってことでいいのかな。
0550nobodyさん2009/03/02(月) 14:55:17ID:???
なんという判断基準w
0551nobodyさん2009/03/02(月) 21:52:38ID:???
実際問題使ってる人からすれば困るだろうけど
俺は使ってないからどうでもいーやー みたいなかんじです
0552nobodyさん2009/03/03(火) 02:42:42ID:???
PHPの暗黙の型変換とか順番付きの連想配列は、初心者向けとも言えるけど、バグの温床とも言える。
0553nobodyさん2009/03/03(火) 02:52:28ID:???
初心者向けなんかじゃねぇよ
開発効率の向上
0554nobodyさん2009/03/03(火) 20:46:04ID:???
結局ちゃんとしようと思えば、 型を揃えて===ってやらなければならないんだから、まったく開発効率は良くなってない。学習曲線の立ち上がりが速いのはそうだが。
0555nobodyさん2009/03/03(火) 20:51:57ID:???
===使うのは当たり前だろ
0556nobodyさん2009/03/03(火) 21:14:47ID:???
まぁ結局は型とかちゃんと意識してたほうが間違いないしな
自動変換される意味ってあんまりないよね
0557nobodyさん2009/03/03(火) 22:07:32ID:???
>>554
暗黙の型比較も厳密な型比較も
両方出来た方が開発効率高いのは自明だろう
0558nobodyさん2009/03/05(木) 08:18:14ID:???
PHPの暗黙の型変換は、相当PHPに慣れていてもハマル。
http://techblog.ecstudio.jp/tech-tips/php-string-compare.html
0559nobodyさん2009/03/05(木) 08:52:55ID:???
いや、なら==使うなと
0560nobodyさん2009/03/05(木) 21:06:00ID:???
原因自体はそんなに曲がりくねってないんだし
型変換されるってことを理解してれば間違うことなんてないでそ
0561nobodyさん2009/03/05(木) 23:23:33ID:???
型変換は可読性のために当たり前のようにやってきたから別に痛くもない
0562nobodyさん2009/03/06(金) 05:20:16ID:???
if (0 == "0x") {
print "1\n";
}
if ("0" == "0x") {
print "2\n";
}
if (0 == "x") {
print "3\n";
}
if (true == "x") {
print "4\n";
}
if ("0" == null) {
print "5\n";
}
if ("0" == false) {
print "6\n";
}
if (array() == 0) {
print "7\n";
}
if (array() == "0") {
print "8\n";
}
if (array() == false) {
print "9\n";
}
0563nobodyさん2009/03/06(金) 08:02:06ID:???
ださいコードw
0564nobodyさん2009/03/06(金) 13:24:19ID:???
おれならもっとスマートにかけるぞ
0565nobodyさん2009/03/06(金) 13:42:27ID:???
>>562
$a = array(0,"0",0,true,"0","0",array(),array(),array());
$b = array("0x","0x","x","x",null,false,0,"0",false);

function f($a,$b) {
if ($a == $b) return true;
}

$k = array_map(f,$a,$b);
print_r($k);

どうだまいったか!!!!!
0566nobodyさん2009/03/06(金) 13:42:59ID:???
>>562
きめえwwwwwwwwww
0567nobodyさん2009/03/06(金) 14:04:00ID:???
>>565

まいった!
0568nobodyさん2009/03/06(金) 14:45:44ID:Eukp8E4G
可読性は>>562が圧勝。
0569nobodyさん2009/03/06(金) 14:51:10ID:???
>>568
本人乙
0570nobodyさん2009/03/06(金) 14:51:40ID:???
値と計算式を分けてる>>565が圧勝
0571nobodyさん2009/03/06(金) 15:24:38ID:???
可読性最悪だろw
0572nobodyさん2009/03/06(金) 15:30:01ID:???
>>571にフイタ
おまえMVCとかわからないような初心者ですね、わかります
0573nobodyさん2009/03/06(金) 18:05:09ID:???
能力も見る目もないんだねw
0574nobodyさん2009/03/06(金) 18:26:02ID:???
>>571
君はしょぼいコードしか見てきてないから仕方がないか
0575nobodyさん2009/03/06(金) 19:33:16ID:???
可読性最悪ってのはこんなのだ
↓
0576nobodyさん2009/03/06(金) 19:58:41ID:???
echo "1\n3\n4\n6\n9\n";
0577nobodyさん2009/03/06(金) 20:00:53ID:???
今時>>562みたいなコード書く新人が後を絶たないんだよな
0578nobodyさん2009/03/06(金) 20:20:37ID:???
でも>>562ぐらいキレイに羅列してくれたほうが明確だから上達しそうだな
0579nobodyさん2009/03/06(金) 21:22:03ID:???
>>562=>>578
0580nobodyさん2009/03/06(金) 21:22:56ID:???
>>562が綺麗って言うやつはコードの読み方を知らないキチガイ
0581nobodyさん2009/03/06(金) 22:36:14ID:???
なんかマ脳とム脳の差を見てる気がするわw
0582nobodyさん2009/03/06(金) 22:47:31ID:???
0 == "0x"
0 == "x"
true == "x"
"0" == false
array() == false

↑の3つが特に鬼門。
0583nobodyさん2009/03/06(金) 23:05:58ID:???
じゃあ、行っちゃダメ!
0584nobodyさん2009/03/06(金) 23:18:46ID:???
いきなり>565のコードを出したとしたら、意図が伝わりにくいと思う。
というか意味的にペアのものを2つの別の配列に格納すべきではないだろ。やるなら値のペアを格納した配列にすべき。
$ary[] = array(0, "0x");$ary[] = array("0", "0x");…

俺が書くならとりあえずこうかな。
function compare($a, $b){
 if($a == $b){
  return "same\n";
 }
 return "not same\n";
}

echo compare(0, "0x");
echo compare("0","0x");
echo compare(0, "x" );
…
配列に対しcompareを実行するメソッドは、多分使いたくならないので実装しない。
あとはnullと空文字を見分けられるようなstrvalを実装し、compareの出力で何と何を比較したのか分かるような改造を入れる。
0585nobodyさん2009/03/06(金) 23:34:41ID:???
かなりPHPを書き慣れてきても>>562の挙動を全部言い当てるのは難しい。PHP以外の言語をメインにしてると、まあ無理。
↓もPHP以外をメインにしてる人には想定外の結果になる。

<?php
$v = 1 > 0 ? 'a' : 1 < 0 ? 'b' : 'c';
print "$v\n";

#!/usr/local/bin/perl
$v = 1 > 0 ? 'a' : 1 < 0 ? 'b' : 'c';
print "$v\n";

#!/usr/local/bin/ruby
v = 1 > 0 ? 'a' : 1 < 0 ? 'b' : 'c'
p v
0586nobodyさん2009/03/06(金) 23:36:06ID:???
どう書くということではなく、PHPの比較演算子の挙動を確かめるということ。
0587nobodyさん2009/03/06(金) 23:49:58ID:???
>>585
それって優先順位の話だよな?
それは流石に括弧つけるだろー
0588nobodyさん2009/03/06(金) 23:59:26ID:???
PHPの場合、条件が2つ以上ある三項演算子は使わない方が良い。混乱の元になるから。
array_map()も無名関数が実装されるまでは使わない方がいい。普通にループで回した方が良い。見づらいだけだから。
0589nobodyさん2009/03/07(土) 03:20:24ID:???
>>574
自分のがしょぼいとは認めてるんだw
0590nobodyさん2009/03/07(土) 11:09:08ID:???
>>589
日本語でおk
0591nobodyさん2009/03/07(土) 14:51:00ID:/9SP6JzE
流れ無視スマン

http://www.haruzine.com/main
http://www.harikonotora.net/main.html
http://www.meiwasuisan.com/frame/
上記の掲示板って元は同じphpですよね?
どっかフリーで配布してるんでしょうか、
誰か知ってたら教えてくださいな。
0592nobodyさん2009/03/07(土) 15:03:55ID:???
>>591
いずれも2chに似せてるだけで中身は別物だろう
0593nobodyさん2009/03/07(土) 15:13:46ID:???
>>591
宣伝乙
0594nobodyさん2009/03/07(土) 15:26:16ID:/9SP6JzE
>>592
何かベースのものがあると思ったのですが…オリジナル?
>>593
ちげーよ

0595nobodyさん2009/03/07(土) 17:52:34ID:???
>>594
難しいもんじゃないし自分で一から書けば
05965942009/03/07(土) 19:32:48ID:/9SP6JzE
そんな頭ないんだよ!
595書いてくれよ。
0597nobodyさん2009/03/07(土) 19:55:51ID:???
ろくな検索すらできない奴なんだから察してやれよw
0598nobodyさん2009/03/19(木) 00:58:24ID:???
php+winbinder使って
windows上で動くシューティングゲームを作ってみたりしてるけども
ゲームの基礎がないのでつらいw

そんな酔狂なヤツは他にいますか?
0599nobodyさん2009/03/19(木) 01:02:17ID:???
なんとなく自機が動いたり
敵機が動いたりするようになったのだが
画面の描画とか押されたキーを受け取る方法とかが自己流で
妥当な関数つかってるのかもわからないんだよなー。
0600nobodyさん2009/03/19(木) 18:49:33ID:???
お前らなんか今、個人的に作ろうとしてるものとか作りたいものとかある?
0601nobodyさん2009/03/19(木) 19:00:53ID:???
CMSを自作してる最中
0602nobodyさん2009/03/19(木) 19:37:33ID:yS9l3Qpm
http://blog.livedoor.jp/dankogai/archives/51189905.html
もうおまえらPHPerは正規表現をブログにうpするんじゃねえ!
0603nobodyさん2009/03/19(木) 20:08:17ID:???
>>602
宣伝乙
0604nobodyさん2009/03/19(木) 21:41:30ID:???
>603
このスレdankogaiがチェックしてるのか!すっげ!
0605nobodyさん2009/03/19(木) 22:48:28ID:???
similar_textとlevensteinとの関係について、ちょっと聞きたいことがあります。

文字列長がM,N(N>M)な二つの文字列の比較に必要な計算時間は
similar_textがO(N^3)でlevensteinがO(MN)ということで、similar_textの方が重い処理です。
ソースをさらっと読んだ感じでは、similar_textは(一致した文字の個数)を計算してるだけですよね。

ところで、
M+N = 2*(一致した文字の数) + (文字を挿入した回数) + (文字を削除した回数) + 2*(文字を置き換えた回数)
という関係が成り立っているので、整理して
(一致した文字の数) = (M+N - {(文字を挿入した回数) + (文字を削除した回数) + 2*(文字を置き換えた回数)} )/2
中括弧の中は、Levensteinのアルゴリズムで置き換えのコストを2に設定したものと同じになると思うので、
similar_textはO(N^3)も計算コストがかからないはず。

なんか間違ってますか?
0606nobodyさん2009/03/20(金) 07:20:05ID:???
その正規表現、ひどいよな。多分、どっかに載ってたメールアドレスの正規表現をいくつか組み合わせて、たまたま動いたから、これでいいや、みたいな感じなんだろうな。
0607nobodyさん2009/03/21(土) 22:16:06ID:???
PHPは楽しいのー^^
0608nobodyさん2009/03/22(日) 04:16:54ID:???
ム板にまでそのURL貼られててやっぱりPHPは……ってなってた
0609nobodyさん2009/03/22(日) 04:32:03ID:???
確かにメールアドレスを表現する正規表現は難しい。
しかし、いきなり/^[^0-9]で始まるわけじゃん。
1秒でこりゃダメだって気づくレベル。
0610nobodyさん2009/03/22(日) 04:33:19ID:???
PerlやJavaやCの解説サイトでは完璧なのか
0611nobodyさん2009/03/22(日) 04:40:47ID:???
正規表現のことじゃなくてレベル低いな、みたいな
0612nobodyさん2009/03/22(日) 06:01:07ID:???
>>611
http://pc11.2ch.net/test/read.cgi/php/1236532468/
0613nobodyさん2009/03/22(日) 06:56:40ID:???
>>612
(´・ω・`) 仕方ないね、うん、仕方ない
0614nobodyさん2009/03/22(日) 07:33:40ID:???
何がだ?
0615nobodyさん2009/03/30(月) 11:21:59ID:J/K5uWTc
test
06161222009/03/31(火) 02:30:38ID:???
性器表現ができないんですが
どうしたらいいですか
最大マンコでお願いします
0617nobodyさん2009/03/31(火) 11:26:13ID:???
>>616
dankogaiに聞けw
0618nobodyさん2009/04/05(日) 23:54:11ID:2BVYNxPl
PHP5とPHP4の変数の参照渡しの違い
http://ameblo.jp/itboy/entry-10228129728.html
0619nobodyさん2009/04/07(火) 02:42:52ID:???
突然フィールド変数がnullになるんでパニくってたら、private変数をサブクラスから参照しようとしてた。orz

アクセス違反ぐらい出してくれてもいいのに...。
まぁスーパークラスの内部構造変えただけで、サブクラスが正常に動作しなくなるのもマズいんだろうが。
0620nobodyさん2009/04/09(木) 00:14:34ID:???
private変数は変数名の頭や最後にアンダーバーとかをくっつける、という手もある。
private→protectedに変更する際の作業量が多くて面倒くさいが(置換使えば一発だけど)。
06211302009/04/09(木) 05:32:23ID:sBmn/pA0
グーグルランク取得したいです。PHPで
でも、その方法が調べてもわからないんです
PHP暦は一年でそこそこです
06221302009/04/09(木) 06:01:34ID:???
見つかったのでもういいです
ほんと、役に立たない人達。いつも俺は、あんたら初心者のために
泥の中をはいつくばるように質問に答えて、その上暴言を吐かれ
それでも答え続けてるのに、情けない奴らだよほんと
この程度も即レスできないようじゃ
また、この時間に寝ているとの意見もあるだろうが
そのような言い訳も聞く気もありません
本当に幻滅しました。能力の無い糞
0623nobodyさん2009/04/09(木) 09:21:00ID:???
お前は何を言っているんだ
0624nobodyさん2009/04/09(木) 10:14:16ID:???
春だからな
薬が効きすぎたのだろう
0625nobodyさん2009/04/09(木) 12:56:30ID:???
まあ、せっかく質問したのに自己解決のほうが早かった時って住民に対してイラっとくるものではあるからな。
0626nobodyさん2009/04/09(木) 13:37:09ID:???
木の芽時ってこわいなぁ
0627nobodyさん2009/04/09(木) 14:00:36ID:???
ちなみに>>621はマルチだった
0628nobodyさん2009/04/09(木) 18:42:28ID:???
>>622も以前はこんな無茶苦茶な印象批判する人じゃなかったんだけどな
0629nobodyさん2009/04/09(木) 22:03:02ID:???
あの日だからな
0630nobodyさん2009/04/11(土) 18:27:09ID:???
ホント、ごめんな!
俺がもうちょっと早起きしてたら・・・・
明日から4時起きにするから許してくれ。
0631nobodyさん2009/04/13(月) 12:46:42ID:???
PHPでウェブプログラミングしています。
GET変数について詳しいかたがいらっしゃったらお聞きしたいことがあるのですが…。

GET変数は、「変数がURLに埋め込んで渡される変数」という理解で間違いないでしようか?
必ず「…?…」の形で渡されるという考えでよろしいのでしょうか。
それとも、なにか特殊なURL記述方法でGET変数を渡せたりしますか?

よろしくお願いします。
0632nobodyさん2009/04/13(月) 12:49:28ID:???
<form action="" method="get"> ←当然これでも$_GET['hoge']で取得できるよ
<input type="text" name="hoge">
<input type="submit">
</form>
0633nobodyさん2009/04/13(月) 13:04:15ID:???
>>631
URLに埋め込んで渡すでおk
0634nobodyさん2009/04/13(月) 13:18:42ID:???
アドバイスありがとうございます。

さらに言うと、
「GET値を渡される場合のURLには必ず ? という文字が含まれる」
という認識で間違いありませんか?
0635nobodyさん2009/04/13(月) 13:45:36ID:???
何をしたいの?
0636nobodyさん2009/04/13(月) 14:32:47ID:???
>>634
全部ゲット
http//aaa.jp/?test($_SERVER['QUERY_STRING']で取得)
http//aaa.jp/?test&a=a
http//aaa.jp/?a=a($_GETで取得
http//aaa.jp/?a=a&b=b
0637nobodyさん2009/04/13(月) 14:40:26ID:???
>>636
アブダクションに推論すると,GETの場合はURLに必ずhttpという文字が含まれる,ということだな
0638nobodyさん2009/04/13(月) 14:42:21ID:???
>>637
ちがいますね
<a href="?test">test</a>
0639nobodyさん2009/04/13(月) 14:57:48ID:???
それにアクセスするとブラウザのURL欄が?testになるのかい?
0640nobodyさん2009/04/13(月) 15:01:59ID:???
おまえは何を言ってるんだ
0641nobodyさん2009/04/13(月) 15:03:00ID:???
>>631=>>634=>>637=>>639
基本がわかってなさ杉
web制作板行って濃い
0642nobodyさん2009/04/13(月) 15:05:47ID:???
=じゃねぇよ読解力無い奴だな
0643nobodyさん2009/04/13(月) 15:48:18ID:???
>>631=>>634=>>637=>>639=>>642
0644nobodyさん2009/04/13(月) 16:21:44ID:???
>>641
言いたいことは解るが=関係は違うと思うぞ
別にどうでもいいが
■ このスレッドは過去ログ倉庫に格納されています