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

【PHP】下らねぇ質問はここに書き込みやがれ 22

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/06/08(木) 05:09:28ID:5gGJKVO4
PHPに関するくだらねぇ質問用スレです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。

まず読め【PHP マニュアル】
http://www.php.net/manual/ja/

過去スレは>>2
0357nobodyさん2006/06/15(木) 02:58:44ID:???
>>356
なんだそれは?Linuxの/なのか?
ならもちろん/がドキュメントルートになってるんだよな?

その「/」に本来入る文字列は「http://〜」になるんだよ。
一応相対パスでも飛べるけど、そのファイル名がブラウザか
らURLをうって見えるものじゃないとダメ
0358nobodyさん2006/06/15(木) 03:29:39ID:???
>>356
http://から始まるURLじゃないとブラウザによってはアウト。
0359nobodyさん2006/06/15(木) 03:36:07ID:???
>>357
header("Location: index.php");
でうまくいっちゃったもんだから試したら
"Location: /index.php"やら"Location: /"でも問題なく飛ばせるんで
疑問に思いマスタ
linux apache で / はルートです。
0360nobodyさん2006/06/15(木) 03:40:32ID:???
>>358
IE6,FX,OPERA,au携帯でいけたもんで。
0361nobodyさん2006/06/15(木) 04:24:46ID:???
>>360
Docomoの一部端末ではこけたはず(全部ではない)
0362nobodyさん2006/06/15(木) 05:11:09ID:???
クライアントによるなんてPHPらしくないあるよ
0363nobodyさん2006/06/15(木) 05:16:11ID:???
いぇあ!いぇあ!
0364nobodyさん2006/06/15(木) 06:13:57ID:???
>>362
そりゃLocationヘッダなんてPHP関係ないし
0365nobodyさん2006/06/15(木) 07:44:27ID:???
すいません、TEXTAREAとSUBMITボタンだけ作ってあるフォームから
日本語の文字列をPOSTした時に、
$encode = mb_http_input('P');
で、ブラウザが送信したエンコーディングを検出しようとしたのですが、
何度やっても$encodeの中身が空です。どうしてなのでしょうか?
ちなみにブラウザはIE6.0です。
0366nobodyさん2006/06/15(木) 07:54:22ID:???
>>365
試しに"G"を指定するとどーなんの?
0367nobodyさん2006/06/15(木) 07:59:49ID:???
>>359
対応していないブラウザがどうの言ってるやつがいるが、
RFCに絶対URLにしろと書いてあるってのが正しい根拠な。
0368nobodyさん2006/06/15(木) 08:17:47ID:???
根拠はそうなんだが実際のとこ大半のブラウザは相対で通用しちゃう品
この場合、実際にRFC準拠じゃないとダメなブラウザがあることを証明しないと
「別にいーじゃん」で通す輩が出るので困る
0369nobodyさん2006/06/15(木) 08:20:08ID:???
だから>>356みたいな質問になるというわけだ
0370nobodyさん2006/06/15(木) 10:31:26ID:???
本当にくだらない質問で恐縮なのですが
最新バージョンのブラウザでは特殊文字は変換しなくても表示する?
0371nobodyさん2006/06/15(木) 10:52:57ID:???
現在の最新ブラウザで表示される文字もあるかもしれないが、

将来の最新ブラウザがもっと標準に沿った実装になれば見えなくなる可能性は高い。
0372nobodyさん2006/06/15(木) 10:55:30ID:???
>>370
特殊文字の定義にもよるが・・・
基本的にどのOS,どのブラウザでも見られるようにしなきゃダメ
0373nobodyさん2006/06/15(木) 11:45:39ID:B1LJZBRv
cobaltのphp.ini
ってなくても動作しますか?
なんか、どこにも、php.iniがないのに動作してるんですが、、、
0374nobodyさん2006/06/15(木) 11:51:02ID:???
>>373
echo phpinfo();
03753732006/06/15(木) 11:55:19ID:B1LJZBRv
phpinfo
を出力すると
Configuration File (php.ini) Path /usr/local/lib
って出力されるんですが、

/usr/local/lib には、一切そんなファイルないんですよ。
0376nobodyさん2006/06/15(木) 12:07:42ID:???
webに転がってるXML、
例えばこういうのを読み込んで↓
http://headlines.yahoo.co.jp/rss/c_int-yonh.xml

Shift-JISで出力したいんですが、上手くいきません。
なぜShift-JISかと言うと、FLASHがShift-JISでないと文字化けしちゃうようなので、
「xml→php→flash」というふうにphpを中継してFLASHにXMLを読み込ませようとしてます。

自分が書いてみたコードは以下です。
どなたかアドバイスのほどよろしくおねがいします
<?
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
header("Content-type: application/xml; charset=Shift_JIS");
$text = file("http://headlines.yahoo.co.jp/rss/c_int-yonh.xml";);
echo join('',$text);
?>
0377nobodyさん2006/06/15(木) 12:15:42ID:???
>>375
php.ini作ればいじゃん

>>376
コンバートすりゃいいじゃん
0378nobodyさん2006/06/15(木) 12:29:36ID:???
>>375
無けりゃ、PHPのデフォルト値が採用される。
でもphp.iniで設定してないと困る事、多くないか?
php.iniでしか設定できないパラメータも多いし。
0379nobodyさん2006/06/15(木) 12:37:15ID:???
>>376
それだと恐らくヘッダーの表記だけSJISで、中身は元のエンコーディング。
PHPのHTTP出力機能で自動変換を掛けるか、
自分のコード内できちんとSJIS変換を掛ける。
0380nobodyさん2006/06/15(木) 12:55:23ID:???
>>379
mb_http_output("SJIS");

ってのをアタマに入れてみたんですが、変換されてないみたいなので、
出力の時に

echo mb_convert_encoding( join('',$text), "sjis", "utf-8");

ってエンコードかけたら出来ました。
ありがとうございます!
03813652006/06/15(木) 13:53:50ID:???
>>366
$encode = mb_http_input('GP');
とやってみましたが、やはり$encodeには何も戻り値が来ません。。。
(ちなみにフォームには「METHOD="POST"」と指定してあります)

これはブラウザ側の問題なのでしょうか、それともPHP側の設定の問題なのでしょうか?
みなさんはこのような例で、きちんとエンコードが戻り値として返されますか??
0382nobodyさん2006/06/15(木) 14:27:51ID:???
>>381
俺も既存のフォームで試してみたら、
たしかに文字エンコーディングの値が取れなかった。
HTMLにはcharset=EUC-JPを明記してあるのだが。
IEと携帯の両方で試したけどダメだった。

ってか、そのmb_http_inputって初めて見るんだけど、
そもそも戻り値をくれる関数なのか!?
0383nobodyさん2006/06/15(木) 14:30:15ID:???
質問です。
phpで画像を作成して表示するプログラムを作っています。

A:temp.gif 表示
B:あるボタンが押されたらそれに対応したtemp.gif作成

という二つの処理を同じページ(?)内で繰り返しています。
ところが、ボタンを押して新たなtemp.gifが作成されても、画像表示では以前のtemp.gifのまま表示されています。
(ブラウザをリロードすると新しく作成された画像が表示されます)

この場合、ブラウザをリロードせずに、どうすれば新しく作成された画像を表示することが出来るでしょうか。
回答をよろしくお願いします。

0384nobodyさん2006/06/15(木) 14:36:13ID:???
>383

$time = time();
print "<img src=\"temp.gif?${time}\">";

などで、リンクを無理やり毎回変更する
0385nobodyさん2006/06/15(木) 14:38:07ID:???
>>383
ブラウザをリロードさせずにやるのはJavaScriptのお仕事と聞いたけど、
どうなんですか?
0386nobodyさん2006/06/15(木) 14:40:48ID:???
>>384
なるほど。そんな手があったんですね。さっそく試してみます。
ありがとうございました。
0387nobodyさん2006/06/15(木) 14:44:32ID:LGGZbqC+
正規表現の質問なんですが
スクリプトはUTF-8、出力はSJIS(携帯用なので)で、
同スクリプトのフォームから送った単語をひらがなのみにマッチさせたいので以下のようにしてみました。
$tango = mb_convert_encoding($_POST['tango'], "utf-8", "SJIS");
echo preg_match("/^[ぁ-ん]+$/", $tango);

しかし、カタカナが入っていても1が返ってくるのですが、原因は何なんでしょうか?
エンコードは関係あるんでしょうか?
0388nobodyさん2006/06/15(木) 14:44:40ID:???
>>384
完璧でした。反応も早くて使い勝手が抜群ですね。
ありがとうございました。
0389nobodyさん2006/06/15(木) 14:53:39ID:???
質問です。1.php 2.php 3.phpの3ファイルを、ランダムにインクルードさせたいです。

<?php
include("1.php");
?>
これをどのようにすれば実装できるのでしょうか?
   <?php
            mt_srand((double)microtime()*1000000);
            $randval=mt_rand(1,3);

           include("http://●.com/".$randval.".php");

         ?>

ぐぐってここまで書いたのですが、動きません(´・ω・`)
0390nobodyさん2006/06/15(木) 14:59:16ID:KiPjTUhk
>>389
include("hoge".mt_rand(1,3)."hoge");
0391nobodyさん2006/06/15(木) 15:01:08ID:???
>>389
include(mt_rand(1,3).".php");
0392nobodyさん2006/06/15(木) 15:07:55ID:sMlBi/Z4
>>236 >>248 >>255
です。


大変遅くなりましたが、皆様のおかげで、MySQLにパスワードありで接続
することが出来ました!!ありがとうございました!!
0393nobodyさん2006/06/15(木) 15:14:34ID:???
http://php.com/php/php1.php
http://php.com/php/php2.php
http://php.com/php/php3.php
ってな具合に用意して、

  <?php
  mt_srand((double)microtime()*1000000);
           
      include("http://php.com/php/php";.mt_rand(1,3).".php");
         ?> 

動かないorz
ドシロウトで済みません(´・ω・`)なんで?
0394nobodyさん2006/06/15(木) 15:19:52ID:???
>>387
pregでマルチバイトは使えない
0395nobodyさん2006/06/15(木) 15:23:33ID:???
>>393
その"は何
"が勝手に変換されるエディタでも使ってるのか
0396nobodyさん2006/06/15(木) 15:24:29ID:???
やりなおし
>>393
その&quot;は何
"が勝手に変換されるエディタでも使ってるのか
0397nobodyさん2006/06/15(木) 15:50:03ID:???
&quot;なんて無いぞ
0398nobodyさん2006/06/15(木) 16:11:39ID:???
>>381
'GP'なんて"俺"パラメータを受け付けるような関数ではないが...
(実際には無指定と同じ処理になるようになってる)
0399nobodyさん2006/06/15(木) 16:23:06ID:???
>>381
マニュアル(http://php.s3.to/man/ref.mbstring.html)のmbstringの設定の解説で

> mbstring.encoding_translation boolean
> 入力される HTTP クエリに関して、文字エンコーディング『検出』および
> 内部文字エンコーディングへの変換を行う透過的な文字エンコーディングフィルタを
> 有効にします。

とあったので試しに.htaccessに

php_flag mbstring.encoding_translation On

と書いてみると

mb_http_input("P");

が"pass"になったよ。
でもどうやったら"pass"を正しい文字コードにできるのかは俺には分からんかった。

試す時はmbstring.encoding_translationはPHPファイル中のini_set()では設定できないという点に注意。
0400nobodyさん2006/06/15(木) 16:25:04ID:???
>>396
おまえ連結知らないだろ
0401nobodyさん2006/06/15(木) 16:27:03ID:???
>>389>>393
ダメでしょうか?(´・ω・`)
なんで393だとできないんだろorz
0402軟式PHP2006/06/15(木) 16:29:11ID:???
連結しないやつのプログラムなんて糞の極みなんだろうなぁ。
0403nobodyさん2006/06/15(木) 16:37:51ID:???
>>401
>>396
0404nobodyさん2006/06/15(木) 16:41:01ID:???
>>393
その全角のスペースは何かの間違いだと仮定して、

1.php:
<?php print "1"; ?>
2.php:
<?php print "2"; ?>
3.php:
<?php print "3"; ?>

test.php:
<?php include("./".mt_rand(1,3).".php"); ?>

で動作した。

test.php:
<?php include("http://127.0.0.1/~hage/".mt_rand(1,3).".php"); ?>

でも動作した。

設定のallow_url_fopenがOffなのか、或いはこの辺が怪しいと思う。

> 注意:
> PHP 4.3未満のWindows版PHPは次の関数については
> リモートファイルアクセスをサポートしてません。

http://php.s3.to/man/features.remote-files.html

まあ相対パスで書いてみろってこった。
0405nobodyさん2006/06/15(木) 16:43:56ID:???
そうだったんですね!
やてみます!
ありがとうございます!
0406nobodyさん2006/06/15(木) 17:08:26ID:???
>>404
おお、できました!動作確認完了
サンクス!!

<?php include("http://●●●.com/●●/php".mt_rand(1,3).".php"); ?>
この一行だけを実装してみて、ランダムアクセス・かつきちんと動作確認とれました。

mt_srand((double)microtime()*1000000);
この行がいらなかったのかなー

ありがとうございました(`・ω・´)
0407nobodyさん2006/06/15(木) 17:41:22ID:???
>>406
何だか良く分からんが動いたのか、そりゃ良かった。
ちなみに

<?php
mt_srand((double)microtime()*1000000);
print "http://php.com/php/php";.mt_rand(1,3).".php";
?>

は特に問題なく動く。
>>393みたいに変な位置に全角スペースが無ければね。

全角スペースが原因で無かったとしたら、これかも知れない。

http://php.s3.to/man/function.microtime.html
> microtime() は、gettimeofday() システムコールをサポートする
> オペレーティング システムがでのみ使用できます。

まあともあれ、

http://php.s3.to/man/function.mt-srand.html
> 注意:
> PHP 4.2.0 以降、srand() または mt_srand() によりランダム数生成器に
> シードを与える必要はありません。
> これは、この処理が自動的に行われるためです。

というわけでmt_srand()は省略しても問題はない。
04083872006/06/15(木) 18:51:02ID:3dqAzs9O
>>394さんレスありがとうございます。
そうなんですね…アホなことしてました。

そこでmb_eregを使って以下のようにしてOKでした。
if (mb_ereg("^[ぁ-ん]+$", $tango)) {
echo "ひらがな";
}

これに更に「ー」(長音?)もマッチさせたいのですが、
if (mb_ereg("^[ぁ-んー]+$", $tango)) {
echo "ひらがな";
}
とするとなぜかダメなようです。\ーもやってみました。
原因は何が考えられるでしょうか?


0409nobodyさん2006/06/15(木) 19:08:49ID:UdRqyXnh
XML/Unserializerで
PerlのXMLinのForceArrayのようなことは
できないのでしょうか?
0410nobodyさん2006/06/15(木) 20:00:26ID:tq4h0Q38
MD5化された文字列を、元に戻したいのですが適当な関数が見つかりません。
どうすれば?

$str = md5 ('apple');
echo $str; // '1f3870be274f6c49b3e31a0c6728957f'
0411nobodyさん2006/06/15(木) 20:08:29ID:???
>>410
元に戻す事はできない。ハッシュの用途を知りたまえ。
0412nobodyさん2006/06/15(木) 20:09:56ID:???
200x年、私は恐るべき発明をしてしまった。
それはどれほど長い文字列であったとしても16バイトに縮める事ができ、
なおかつそれを元の長い文字列に戻すことができるという恐るべき悪魔の発明であった。
0413nobodyさん2006/06/15(木) 20:14:05ID:???
マニュアルを最後まで読んでみたら、その関数が廃止されていたことを知った。
文書の冒頭に強調して書いとけよ。

不満だーーー!!
0414nobodyさん2006/06/15(木) 21:43:21ID:???
>>413
つ【検索】
0415nobodyさん2006/06/15(木) 21:54:42ID:???
>>408
[ぁ-ん]では飽きたらず、[ぁ-んー]か、エロいな。
0416nobodyさん2006/06/15(木) 21:59:40ID:???
>>398
>'GP'なんて"俺"パラメータを受け付けるような関数ではない

ハァ? 公式マニュアルよく嫁カス。
もしくは大垣リファレンスp.301でも良い。
0417nobodyさん2006/06/15(木) 22:16:03ID:???
touch();で新規に空ファイルを作りたいのだけど
コマンドライン上からphp -rで実行した場合正常に生成されるのに
ソースに書いてそれを実行すると失敗する
パーミッションに関しては問題ないと思われるのですが
原因はどのようなものが考えられるでしょうか?
0418nobodyさん2006/06/15(木) 22:19:40ID:???
>>417
ユーザに権限が無いんと違う?
0419nobodyさん2006/06/15(木) 22:26:13ID:???
>>408
おk、把握した。

<?php
print mb_regex_encoding(); // そしたらISO-8859-1とか言われたので、
mb_regex_encoding("UTF-8"); // 正規表現で用いるエンコーディングを
// mb_regex_encoding("SJIS"); // スクリプトの文字コードに合わせる
// mb_regex_encoding("EUC-JP"); // 試した環境ではUTF-8。
$tango = "あああーあああ";
$search = "^[ぁ-んー]+$";
if (mb_ereg($search, $tango)) {
echo "ひらがな";
}
?>

あるいは、

<?php
print "あ"; // 先に2バイトコードを出力していれば、
print mb_regex_encoding(); // 大人しくUTF-8と分かってくれたので、
//mb_regex_encoding("UTF-8"); // 正規表現で用いるエンコーディングを
// mb_regex_encoding("SJIS"); // スクリプトの文字コードに合わせる
// mb_regex_encoding("EUC-JP"); // 必要は無い。
$tango = "あああーあああ";
$search = "^[ぁ-んー]+$";
if (mb_ereg($search, $tango)) {
echo "ひらがな";
}
?>

どう見ても文字コードの問題です。本当にありがry
0420nobodyさん2006/06/15(木) 22:29:06ID:???
>>418
やはり権限の問題なんですかね
コマンドラインから実行する際のユーザとサーバを動かしてるユーザは同じハズなんですが
お答えいただきありがとうございました
04214192006/06/15(木) 22:30:25ID:???
ところで携帯ってUTF-8でも表示できんかったっけ?
DoCoMoのFOMAの拡張絵文字を何とかしようとしてUTF-16でばっちこいと言われ絶望した記憶が。
0422nobodyさん2006/06/15(木) 22:36:31ID:???
>>421
手元の「携帯端末用Web製作バイブル 第3刷」には

 iモード         シフトJIS
 iモード対応XHTML シフトJIS, UTF-8
 EZweb         シフトJIS
 Vodafone       シフトJIS, ISO-2022-JP, EUC-JP, UTF-8(P4(2)型/W型のみ)

とある
0423nobodyさん2006/06/15(木) 23:31:52ID:???
>>421
マジか。
てことは、携帯全般に広く対応するには敢えてSJISで文字化けを乗り越えて行く必要があると。
タマランなあ…
0424nobodyさん2006/06/15(木) 23:43:20ID:???
>>423
出力だけShiftJISにすればいいやん
0425nobodyさん2006/06/15(木) 23:46:29ID:???
あ、そっか。言われてみれば。
0426nobodyさん2006/06/16(金) 00:18:37ID:???
質問です。

新しいファイルを作成しようとしたのですが、
$fp = fopen($data,"x");
これで、localサーバーでは作成できたのですが、
アップロードしたら作成されません。

ちなみにサーバーは
http://space-town.net/を使っています。
0427nobodyさん2006/06/16(金) 00:21:07ID:???
PHPからメールを送り、それをthunderbirdで受信すると、改行した部分が2行改行になって表示されています。
メーラーによっては普通に表示できるみたいですが、どうしてこうなってしまうんでしょうか?
文字コードや改行コードについて調べてみましたが解決策はわからず。
0428nobodyさん2006/06/16(金) 00:32:55ID:???
>>426
パーミッションと所有者とパスを確認

>>427
Windows用の改行コード(\r\n)になってる恐れあり
確認されたし
0429nobodyさん2006/06/16(金) 00:36:28ID:???
>>428
ディレクトリは[777]
パスはあっていました。
0430nobodyさん2006/06/16(金) 00:40:41ID:???
>>416
一応PHP4.4.2と5.1.4のソースや、現行のマニュアルを確認した上で言ってんだけどな。
バージョン違いの仕様の差異や公式ドキュメントからの読み落としがあったら謝るよ。

http://jp.php.net/manual/ja/function.mb-http-input.php
マニュアルには列挙出来るとも、列挙した場合の動作解説はないと思うが。
文字"列"とは書いてあるが、この場合はモードを表す1文字だけの文字列。

>大垣リファレンス
確かに手元の初版のやつだけど解説のサンプルで'GP'ってやってるな。
これは間違いだと思うよ。記述の方では「いずれか」ってなっている(適正)けど。
あと該当ページの「ブラウザから送られてくる文字エンコーディングを設定したり」
ってところも間違いかと。巷でもmb_http_input('SJIS')とか解説してるページがあるが...
0431nobodyさん2006/06/16(金) 00:43:39ID:???
>>426
モードがxになってるけど?
0432nobodyさん2006/06/16(金) 00:44:06ID:???
>>431
x⇒新規作成なのでは?
0433nobodyさん2006/06/16(金) 00:55:51ID:???
>>426
> $fp = fopen($data,"x");

ここに問題があるとは思えないなあ。
$dataの中身はどうなってる?

>>431
つ http://php.s3.to/man/function.fopen.html

"x"は完全な新規作成だよ。
0434nobodyさん2006/06/16(金) 00:56:25ID:???
xは「このオプションはPHP4.3.2以降でサポート」だろ
バージョンはどうなんだよ
0435nobodyさん2006/06/16(金) 00:58:28ID:???
$data = "./data/count/".date(Ymd)."log.cgi";
includeで読み込んでるから、トップページからのパスだからあってるはず
というか、Local鯖ではちゃんと作成されたんだけどな・・・

xはPHP4.3.2からでしたっけ?
04364332006/06/16(金) 00:59:53ID:???
>>426
あ、その無料ホームページサイトはCGIに関して「Perlが利用可能です」としか書いてないけど、
まさかPHPが無いとかいうオチでは無いだろうね?
0437nobodyさん2006/06/16(金) 01:00:45ID:???
>>434
今調べてみたところ、5.0.4でした。
0438nobodyさん2006/06/16(金) 01:01:25ID:jcDHX2J/
>>436
他のPHPは全て使えています。
掲示板やアクセスカウンタも大丈夫です。
04394332006/06/16(金) 01:03:28ID:???
>>436
その./data/count/のディレクトリはちゃんとあらかじめ作ってある?
0440nobodyさん2006/06/16(金) 01:04:08ID:???
すみません、新規作成なぜか解決しました。
いつのまにかファイルが作成されていてビックリです。
ディレクトリのパスは[0777]以外はダメなのですよね?
もしかしたら、最初[0755]になっていたので
それを変えて実行されたのかと思います。
文がまとまってませんが、お手数おかけしました。
04414332006/06/16(金) 01:08:19ID:???
既に作成されていたものを作ろうとしてエラーってことかな。

ともあれ解決して良かった。
0442nobodyさん2006/06/16(金) 02:24:31ID:???
$len = 100;
echo "len: $lenm";//len: 100m と間を空けたくない場合は
echo "len: ".$len."m";
とするしかないですか?
0443nobodyさん2006/06/16(金) 02:48:29ID:???
echo "len: {$len}m";

でもおk。
0444nobodyさん2006/06/16(金) 03:24:36ID:2zUyZAya
$testに数字が含まれている場合、数字を取り除いて表示するには
<?=preg_replace("/[0-9]/","",$test]) ?>

で、出来ました。
そしてこの数字を取り除いた後の文字(例えば”テスト”)と比較する為に
$test2=preg_replace("/[0-9]/","",$test]) ;

if($test2=="テスト"){
echo"テストです";
}

みたいなことをしたかったのですが、$test2に数字を取り除いた後の文字が
入りません。こういう場合、どうしたらいいのでしょうか?
0445nobodyさん2006/06/16(金) 03:29:34ID:???
>>444
$test] って何だろう。
0446nobodyさん2006/06/16(金) 03:35:24ID:???
キーの打ち間違えです。正しくは下記です。

preg_replace("/[0-9]/","",$test);
0447nobodyさん2006/06/16(金) 03:39:34ID:???
>>444
単なる確認ミスかなんかだと思う。
$test2=preg_replace("/[0-9]/","",$test);
の次の行で
echo "test=[$test] test2=[$test2]";
って入れてみれば。
0448nobodyさん2006/06/16(金) 03:42:49ID:???
>>447
おっしゃる通りでした・・。申し訳ありません。正しく表示されました。
0449nobodyさん2006/06/16(金) 03:52:46ID:???
>>443
�d
0450nobodyさん2006/06/16(金) 08:07:44ID:Zr6gS6bm
>>419
亀レスすいません、ありがとうございます。
おっしゃるとおり文字コードでした。
おかげさまでエロい正規表現ができました。感謝です。
0451nobodyさん2006/06/16(金) 12:41:51ID:???
マニュアルを検索したのですが分からなかったので教えてください。

<< ってなにをする物でしょうか?
こんな感じで使われていたのですが、具体的に何をやっているか分かりませんでした。
13 << 22
0452nobodyさん2006/06/16(金) 12:49:43ID:???
>>451
http://php.s3.to/man/language.operators.bitwise.html
04534522006/06/16(金) 13:03:59ID:???
もしかしてマニュアル見ても分からなかったらこれでドゾー

<?php
print 13 << 22; // これらは全て
print 13 * pow(2, 22); // 54525952を返す
print 13 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2;
?>
0454nobodyさん2006/06/16(金) 15:55:13ID:???
$a = 1 << 1; // $a=2
$a = 1 << 2; // $a=4
$a = 1 << 3; // $a=8
$a = 1 << 4; // $a=16
$a = 1 << 5; // $a=32
$a = 1 << 6; // $a=64
$a = 1 << 7; // $a=128
$a = 1 << 8; // $a=256
$a = 1 << 9; // $a=512
$a = 1 << 10; // $a=1024
$a = 1 << 11; // $a=2048
$a = 1 << 12; // $a=4096
$a = 1 << 13; // $a=8192
$a = 1 << 14; // $a=16384
$a = 1 << 15; // $a=32768
$a = 1 << 16; // $a=65536
0455nobodyさん2006/06/16(金) 16:26:24ID:???
powより早いのかな?
0456nobodyさん2006/06/16(金) 16:35:41ID:???
>>455
ビットずらすだけだから乗算よりかなり早いだろ
2の乗数しかできないけどね
■ このスレッドは過去ログ倉庫に格納されています