元スレ【PHP】ID出さんでも質問OKなスレ【初心者歓迎】2
php覧 / PC版 /みんなの評価 : ○
603 = :
クラスメソッド内から、現在のクラス名を参照する方法はありますか。
class Foo {
function f1() {
// ここで Foo という名前を取得したい
}
}
Foo::f1()
604 = :
その質問過去スレに2回ほど回答がでてるけど見た?
605 = :
>>604
過去スレを「クラス名」で検索しましたが見つかりませんでした。
606 = :
>>604
バンバンバンバンバンバンバンバンバン゙ン
バンバン /⌒ヽ バンバンバンバンバン
バンバン∩#^ω^)動けお
/_ミつ / ̄ ̄ ̄/__
\/___/
ドゴォォォォン!!
; ' ;
\,,(' ⌒`;;)
(;; (´・:;⌒)/
/⌒ヽ(;. (´⌒` ,;) ) ’
Σ(;^ω^)((´:,(’ ,; ;'),`
⊂ ⊂ / ̄ ̄ ̄/__
\/___/
607 = :
過去スレ嫁厨
ID出すほうで質問したらちゃんと俺が答えてやったが
ここは管轄外なのでスルーさせていただくよ
608 = :
>>603
自己レスです。
継承しないならget_class()または__CLASS__でうまくいったのですが、継承があるとだめでした。
class Foo {
function f1() {
echo get_class(), "¥n";
echo __CLASS__, "¥n";
}
}
class Bar extends Foo {
}
Bar::f1(); // Foo Foo
継承したときのクラス名(この例ならBar)をとってこれないでしょうか。
609 = :
610 = :
同一人物認定厨まで現れたか
さすが低レベルなスレだな
611 = :
>>608
http://jp.php.net/manual/ja/language.oop5.late-static-bindings.php
612 = :
>>611
5.3からの新機能で可能ということですね(つまりそれ以前のバージョンでは不可能)。
ありがとうございました。
613 = :
>>611
これは良い。
615 = :
その辺のサイトに書かれてることを動画にしても効率が悪いだけ
ていうか最初と最後に文字いれしてるんだから
わざわざタイプで時間使わないで文字いれしろよ
そうすりゃこんな意味のない動画を3分も見せ続けられなくてすむし
CM1本分ぐらいに収まるだろ
616 = :
自宅待機者ふぜいが
えらそうに、、、
617 = :
意見があればコメントしろっていったのはお前だろ
あんな無駄なものを3分も見せられるほうの気持ちも考えろ
618 = :
配列をクリアする関数はありますか。
$array = array();
はしたくないので
foreach (array_keys($array) as $key) { unset($array[$key]); }
としているんですが、
array_clear($array);
みたいなのが標準であれば教えてください。
ぐぐったら $array = array() ばかりが出てくるんですけど、array_clear()みたいなのはないんでしょうか。
620 = :
>>618
array_splice($array, 0);
array() を代入したくない理由は?
621 = :
>foreach (array_keys($array) as $key) { unset($array[$key]); }
何これ?連想配列?
まぁただの配列にしても連想配列にしてもunsetやれば全部NULLになるでしょ
$a = array(1, 2, 3, 4);
unset($a);
var_dump($a); //NULL
$b['foo'] = 1;
$b['bar'] = 2;
unset($b);
var_dump($b); //NULL
622 = :
>>620
嗚呼・・・クリアってそういうことか
変数割り当てをクリアじゃなく配列の値をクリアするってことね
>>621は無視してちょうだい
623 = :
>>620
ありがとうございます。array_splice()で出来ました。
ただ、これって連想配列でも動作が保証されているのでしょうか。
連想配列ではない通常の配列でなら、array_splice()でいいと思いますが、連想配列でも動作が保証されているのか、マニュアルを読んでも分からなかったので、もしご存知なら教えてください。
624 = :
初心者なアホな質問ですがアドバイスもらえると助かります。
kyomo-iitenki-1.2.3.exe
というファイルがあって1.2.3がバージョンになります。
バージョンだけ取り出したいんですがまず
$test_val = "kyomo-iitenki-1.2.3.exe";
$test_num = strrpos($test_val, "-");
$hogera = str_split($test_val, $test_num+1);
$hogera = ereg_replace(".mid", "", $hogera[1]);
こんな感じで1個ずつやってみたのですが、何かもっと効率よさそうな方法がありそうな気がします。
PHP始めたばかりなので最初から効率を求めるわけではないのですが、後学のためにこれをもっと
効率よくする書き方があれば教えてください。
626 = :
>>623
PHPのarrayは配列も連想配列も同じ順序付きハッシュだから動く
つうか array_splice($array, 0) も内部で $array = array() と同じ事やってんだが、これでいいのか?
>>624
正規表現がまさにそういう用途のためにある
http://jp.php.net/manual/ja/function.preg-match.php
$test_val = "kyomo-iitenki-1.2.3.exe";
preg_match('/([^\-]+)\.[^.]+\z/', $test_val, $matches);
echo $matches[1];
627 = :
>>624
正規表現をうまく使えればもっとシンプルにできるよ
俺はあまり正規表現は得意じゃないんでもっと最適なものがあるとは思うけど
$test_val = "kyomo-iitenki-1.2.3.exe";
echo preg_replace("/[^0-9]+[^0-9]/", "\\1", $test_val);
628 = :
>>626-627
正規表現ですか。
まだ本当に記号の羅列にしか見えないですね。
でも正規表現使えればあの汚いものがこんなにシンプルな1行になるわけですね。
ちょっと正規表現勉強してみます。
ありがとうございます。
629 = :
$str = ファイル名
preg_match("![0-9][\._-0-9]*!",$str,$match);
print_r($match);
630 = :
>>629
穴だらけな上にエラーまで出すとは、なかなか才能があるな
632 = :
>>630
どこに穴があんの?
633 = :
>>632
バージョン以外の数字に一致
拡張子のドットまで含めてしまう
634 = :
文字列で、"hoge\n" というのは 最後に改行が付くけど
\n のような特殊な文字(エスケーッぷ?)の一覧を教えて。
あと、\nが CR+LFになるのかLFになるのかを
プログラム中から知る手段も教えてほしい。
635 = :
自己解決しました。
636 = :
興味本位で、確認くん(ttp://www.ugtop.com/spill.shtml)に使われている変数が気になり、
調べてみたのですが、「クライアント電話番号」と書かれている部分だけ分かりません。
どのように取得すれば良いかご存知の方がいらっしゃれば、ご教授いただけないでしょうか。
以下は、他の欄に使われていると思われる変数です。
--------------------------------------------------
情報を取得した時間:date("Y年\nm月\nd日\n A \nH時 i分\n s秒\n")
現在接続しているホスト名:$_SERVER['SERVER_NAME']
現在接続している場所(現IP):$_SERVER['REMOTE_ADDR']
現在接続している場所(元IP):$_SERVER['FORWARDED_FOR']
クライアント電話番号:不明
プロバイダー名:gethostbyaddr($_SERVER['REMOTE_ADDR'])
サポート言語:$_SERVER['HTTP_ACCEPT_LANGUAGE']
ポート番号:$_SERVER['REMOTE_PORT']
クライアントの場所:$_SERVER['HTTP_FORWARDED']
クライアントID:$_SERVER['REMOTE_USER']
ユーザ名:$_SERVER['REMOTE_IDENT']
クッキー:$_SERVER['HTTP_COOKIE']
使用ブラウザ:$_SERVER['HTTP_USER_AGENT']
どこのURLから来たか:$_SERVER['HTTP_REFERER']
proxyのバージョン等:$_SERVER['HTTP_VIA']
proxyの効果:$_SERVER['HTTP_PROXY_CONNECTION']
FORMの情報:$_SERVER['REQUEST_METHOD']
FORMのタイプ:$_FILES[...]['type'] ← 自信無し
FORMのバイト数:$_FILES[...]['size'] ← 自信無し
HTTP_X_LOCKING:$_SERVER['HTTP_X_LOCKING']
HTTP_FROM:$_SERVER['HTTP_FROM']
データ取得の手段:$_SERVER['REQUEST_METHOD']
エンコードの仕様:$_SERVER['HTTP_ACCEPT_ENCODING']
MIMEの仕様:$_SERVER['HTTP_ACCEPT']
--------------------------------------------------
637 = :
つwhole
638 = :
>>637
「php whole」などで検索してみたのですが、どういうことか分かりません…。
もう少し詳しく教えていただけないでしょうか。
639 = :
>>638
貴様のIPからプロバイダ情報を調べてみろkz
これがヒントだksgおとといきやがれカス
640 = :
わからないなら無理して答えるなよ(プッ
641 = :
ああ、そういうことだったか
解決したありがとう
642 = :
>>641は偽者です。
まだ分かっていないので、分かる方がいたらよろしくお願いいたします。
643 = :
>>642
>>639に書いてあるよ
意味が分からないなら実際言われたことをやってみろよ
644 = :
ANSI Whois Gateway(ttp://whois.ansi.co.jp/)で自分のプロバイダ情報を調べてみたところ、
「phone」と言う項目がありました。
これは、
PCの場合、登録に関する連絡の担当者(もしくは技術的な連絡の担当者)の電話番号
携帯電話の場合、クライアントの電話番号(使用者の電話番号)
になると考えて良いのでしょうか。
646 = :
647 = :
>>646
IDでてないのによくわかるね。
648 = :
エスパーなんです
650 = :
みんなの評価 : ○
類似してるかもしれないスレッド
- 【PHP】ID出さなくても質問OKなスレ【初心者歓迎】 (836) - [86%] - 2009/8/18 21:04 ○
- 【PHP】ID出さなくても質問OKなスレ【初心者歓迎】 (1001) - [86%] - 2009/1/28 18:17
- 【PHP】下らねぇ質問はここに書き込みやがれ 69 (1001) - [33%] - 2008/6/25 23:33 ○
- 【PHP】下らねぇ質問はここに書き込みやがれ 70 (1001) - [33%] - 2008/7/19 3:52 ○
トップメニューへ / →のくす牧場書庫について