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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2007/09/09(日) 12:42:57ID:64tYOx8R
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 53
http://pc11.2ch.net/test/read.cgi/php/1188047468/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0487nobodyさん2007/09/19(水) 01:43:48ID:gkslbv3A
変数と式と値の違い、その他注意すべき構文上のグループがあればおしえてください。
isset() が関数ではなくステートメント(スペシャルフォーム?) なのは分かった。
0488nobodyさん2007/09/19(水) 01:45:10ID:???
>>487
つマニュアル
0489nobodyさん2007/09/19(水) 02:00:28ID:???
>>486
別にエラーにならないが?
0490nobodyさん2007/09/19(水) 02:01:10ID:gkslbv3A
isset
(PHP 4, PHP 5)
isset ― 変数がセットされているかどうかを検査する

$a=array();
isset($a['b']]);
でエラーは出ないので$a['b']は「変数」ということでしょう。驚くべきことに。
んでは、「変数」って$aや$a[index] の他に何があるの?

もうPHPのソース読むしか無い?マニュアルすらアテにならんのだが。
0491nobodyさん2007/09/19(水) 02:02:35ID:???
オッパッピー
04924582007/09/19(水) 02:02:47ID:RXNedNOk
458です。

>461
ID表示させず申し訳なかったです。

>459 >460
レスありがとうございます。

勉強不足で申し訳ないですが、
ドキュメントルートを起点にしたインクルードってできないのでしょうか?
0493nobodyさん2007/09/19(水) 02:03:13ID:???
>>489
Undefined index: c in hoge on line 4
とでた
0494nobodyさん2007/09/19(水) 02:10:45ID:???
Notice はエラーじゃねーよ
0495nobodyさん2007/09/19(水) 02:21:09ID:???
E_NOTICEのEはexceptionとかerrorのEではないと?
これ、PHPのプログラムとして誤りではないんですか?
0496nobodyさん2007/09/19(水) 02:23:16ID:???
>>492
できるよ。マニュアル参照。
04974582007/09/19(水) 03:32:07ID:RXNedNOk
>>496
もう少しヒントを頂けると嬉しいです、、。

include_pathに設定なんかを行う感じでしょうか?
特別なことをせずにインクルードできるなら是非教えて頂きたいです。
よろしくお願いします!
0498nobodyさん2007/09/19(水) 04:58:30ID:???
>>486
エラーが出るのがおかしいと感じてるのか、出ない下2行をおかしいと感じてるのか分からんが、
http://www.php.net/manual/ja/language.references.php
ここ読んでなんとなくリファレンスとはそういうもんかなあと俺は思った。
関数の引数に限らず、
<?php
$a = &$hogehoge['aaaaaa'];
?>
リファレンスの代入でエラーになる事は無いみたい。

まあ俺なら
if (isset($a['c']) g($a['c']);
か、
g($a);
function g(&$arg) {
if (!isset($arg['c')) return;
}
とするけどね。
0499nobodyさん2007/09/19(水) 05:20:58ID:Y/2cENkk
>>486の頭がおかしいと思う
0500nobodyさん2007/09/19(水) 08:15:46ID:???
>>486
>>498 のように参照元が未定義でも黙って勝手に定義しちゃうな。
仕様と言われたらしょうがないが、嬉しくない動作だ。

error_reporting(E_ALL | E_STRICT);
unset($a);
$b = &$a[0]; # 沈黙
var_dump($a); # array(1) { [0]=> &NULL }

>>490
変数が定義済みかつ NULL 以外かどうかを bool で返す言語構造だ。
エラーを出すなんてマニュアルのどこに書いてあるのよ。
0501nobodyさん2007/09/19(水) 09:14:47ID:???
>>498のような答えを待ってました、ありがとうです。
まだよくわかんないですが。。

どちらがオカシイというか、
・一貫性がないなぁ
・他のプログラミング言語ではみられないし、直観的でない動作だなぁ
という風に思ってました。


頭がおかしいとか言っちゃってる人?がいますが、この程度のこともハッキリできないって正直怖くね?
と思ってたのでちゃんと分かって有り難かったです。


でも例えば、

$a =& $hogehoge['b'];
return $a['c'];

これはE_NOTICEが出ないのに、
>>486のf($a)でエラーがでるのはなんでだろう。

こんなん、エラーが発生した位置から実際のバグが特定しにくいと思うんだけど…
とにかくPHPの参照と配列が組み合わさると地雷、という風に理解すればいいかねぇ。
0502nobodyさん2007/09/19(水) 09:18:42ID:gkslbv3A
これがE_NOTICEを出さないって意味です。>>486のf($a)はE_NOTICEを出すので
厳密に参照引数と参照変数が同じというわけではなさそう。
<?php
function g() {
$a =& $hogehoge['b'];
return $a['c'];
}
g();
?>
まあとにかく地雷ってことか…
0503nobodyさん2007/09/19(水) 09:56:38ID:rpyBUC34
おはようございます。
モジュールの評価をお願いしたいのですが、よろしいでしょうか。

機能としては、文字を整形するものです。
タグが使えない掲示板などでも、きれいな表の状態を維持できるものです。

公開ページになります。
http://penlabo.web.fc2.com/PHP/HTML-AA.html

よろしくおねがいいたします。
0504nobodyさん2007/09/19(水) 10:53:55ID:Y/2cENkk
>>501
ごめん。
八つ当たりをしてしまった。
気にしないで下さい。
0505nobodyさん2007/09/19(水) 12:42:37ID:???
オマエ童貞だろ
0506nobodyさん2007/09/19(水) 12:45:03ID:Ur82wVvy
phpのプログラムの納品が終わりまして、一般ユーザー向けにマニュアル書いているんだけど、
言葉使いに迷っております。

ある機能があるんだけど、
hogehoge機能という言葉を使う代わりに、
hogehogeエンジン、hogehogeシステム、hogehogeプログラム、hogehogeロジック
って書こうと思いますが、どれが一般人に分かりやすいですか?
0507nobodyさん2007/09/19(水) 12:49:10ID:???
PHP Warning: session_start() [<a href='function.session-start'>function.session-start</a>]: Cannot sendsession cookie - headers already sent by (output started at /foo/bar.php:167) in /foo/bar.php on line 184
PHP Warning: session_start() [<a href='function.session-start'>function.session-start</a>]: Cannot sendsession cache limiter - headers already sent (output started at /foo/bar.php:167) in /foo/bar.php on line 184
session_start()のところでこんなエラーが出てスクリプトが止まってしまいます。
なにが原因でしょうか?
0508nobodyさん2007/09/19(水) 12:54:48ID:???
次どうぞー
0509nobodyさん2007/09/19(水) 12:54:48ID:???
>>506
一般ユーザって社内?コンシューマ?
社内ならシステムでいいんじゃね。

てか、その辺はお客さんと折衝してるときの
ニュアンスで決めちゃうからなー。
よくわからんわ。

>>507
>>1 IDを表示させてね。
>Cannot sendsession cookie - headers already sent
既にヘッダー文字列が送られている為にセッションを開始することが出来ません。

よくあるのは、空白とかが<?php ?>の前にある時ですかね。
0510nobodyさん2007/09/19(水) 13:02:09ID:Ur82wVvy
>>509
レスありがとうございます。紛らわしくてすみません。
一般ユーザーというのは、一般消費者向けです。

マニュアルといっても、電子マニュアルでして、
サイトに載せる予定です。hogehoge機能のhogehogeの部分が横文字なので、
機能じゃなくて別の言葉はないか、とクライアントに言われて困っています。
05115072007/09/19(水) 13:07:07ID:qdL49ylm
>>509
ありがとうございます。
確かに先にheaderでというものをやってました。
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");

session_start()はこれより前にやらないといけないということですね。
後で確認してみます。
0512nobodyさん2007/09/19(水) 14:36:21ID:ywTkCFki
掲示板で
入力→確認→書き込み
の流れをファイル分担させずに、綺麗なソースで書きたいんだがお勧め方法ある?
0513nobodyさん2007/09/19(水) 14:39:15ID:???
>>512
丸投げするなよ
綺麗なソースかどうかなんて見てみないとわかるわけないだろ
ていうかファイル分けないとか謎制限いらんだろ
フレームワークでも使って作れ
0514nobodyさん2007/09/19(水) 14:40:04ID:???
>>512
掲示板最初から作るんだったら、どこかのサイトの掲示板を使った方が
いいんじゃない、その方が安全で手間がかからないし。
たとえば、
http://www.bigcosmic.com/
とか
0515nobodyさん2007/09/19(水) 14:41:09ID:???
>>514
すげーーー、ここ月額でたった80円かよ。
しかも、めちゃめちゃ高機能。
おれも、ここに変えようかなぁ。
0516nobodyさん2007/09/19(水) 14:42:13ID:ywTkCFki
>>513
ん〜、何ていうんだろ
いろんなとこでこの作業を行いたいからファイル分けると増えすぎてゴチャゴチャする

swtich ($resgit){

case "A":
require_once("hoge1.php");
break;

case "B":
require_once("hoge2.php");
break;

case "C":
require_once("hoge3.php");
break;

}

だと早いけど、
この実行するPHP「hoge1〜3.php」を何かの変数に格納して
あとで実行できないかなと・・・
0517nobodyさん2007/09/19(水) 14:42:49ID:???
>>514
うわぁ、すごい安い!!!
それに、すごいかわいい。こんなに初めてかも。
おれ、ここの掲示板使ってみる。いい情報ありがとぉーーー
0518nobodyさん2007/09/19(水) 14:43:41ID:???
>>514-515
何この自演宣伝
もう少し時間空けてから書き込めよ
0519nobodyさん2007/09/19(水) 14:44:36ID:???
2chでの宣伝行為はひろゆきに金とられるぜ?
0520nobodyさん2007/09/19(水) 14:44:42ID:???
>>517
早速おれも見てみた。
すごいね。これ。
しかも、すごい運用実績があるし、信頼できそうだね。
今使っている掲示板ダメダメなので、早速これ使ってみるよ。
0521nobodyさん2007/09/19(水) 14:46:55ID:???
>>516
MVCをしたいってこと?
なんかフレームワーク使ってる?
それとも、デザイン込みで1ファイルにしたいの?

質問ばかりでごめんね。
やりたいことがはっきり見えなくて。
0522nobodyさん2007/09/19(水) 14:50:09ID:ywTkCFki
>>521
こっちこそ詳しくかかずにすみません
PEARを使ってます
デザイン込みで1ファイルなので

<?
$type1 = Aの場合のPHP+HTML文
$type2 = Bの場合のPHP+HTML文
$type3 = Cの場合のPHP+HTML文
?>
<html>
<body>
<?
switch ($regist){

case "A":
  $typeAのPHP+HTML文を実行
break;

case "B":
  $typeBのPHP+HTML文を実行
break;

case "C":
  $typeCのPHP+HTML文を実行
break;

}
?>
</body>
<html>
0523nobodyさん2007/09/19(水) 14:50:41ID:VHjt1ihL
>>516
require_once("hoge{$resgit}.php");
かな
0524nobodyさん2007/09/19(水) 14:53:58ID:ywTkCFki
>>523
どもです。
ですが、require_onceを使うためには実行するPHPを別ファイルで保存しなくてはいけないので、
それをしないで、実行する文を変数か何かに格納して条件別にそれを実行したいのです。

ヒアドキュメントで
$text = <<<_HTML_
<html>
<body>
<? echo "テスト" ?>
</body>
</html>
_HTML_;

eval($text);

としてみたのですが、evalはPHP文のみみたいですね・・・。
0525nobodyさん2007/09/19(水) 14:56:09ID:DH/EOPt7
>>524
やろうとしている事がアホすぎるってのは理解して、尚それをやろうとしてるの?
それとも、やろうとしてることがアホだって理解してないの?
0526nobodyさん2007/09/19(水) 14:58:13ID:???
>>524
functionでいいのでは?
0527nobodyさん2007/09/19(水) 14:58:33ID:VHjt1ihL
>>524
はぁはぁ、つまりユーザーアップロードのテンプレートを使わせたいわけだろ。
アップロード時に検査して問題がなければPHPとして置き換えたらいいでしょ。
それが嫌なら毎回置き換えろ。
0528nobodyさん2007/09/19(水) 14:59:54ID:ywTkCFki
>>526
よく考えたらそれでよかったです・・・
有難うございましたorz
0529nobodyさん2007/09/19(水) 15:08:48ID:???
PECLってペックルかとオモテたらピックルだったのね。
0530nobodyさん2007/09/19(水) 15:09:10ID:???
ピクルかと思ってた
0531nobodyさん2007/09/19(水) 15:13:14ID:???
>>528
いいんかいw
まぁ、良かったです。

>>529
ペクルって呼んでたorz
0532nobodyさん2007/09/19(水) 15:14:01ID:???
俺はレガートにピークルってよんでたぜ
0533nobodyさん2007/09/19(水) 15:44:14ID:ywTkCFki
$hogehoge = "あああ";
$test = "example.com";
$2ch = "まろゆき";

function Test(){
  global $hogehoge;
  global $test;
  global $2ch;

  echo $hogehoge;
  echo $test;
  echo $2ch;
}

Test();

外部の変数を取り込むにはglobalが必要ですが、
上記の場合では、
global $hogehoge;
global $test;
global $2ch;

としなくてはいけないですが、
変数を全て取り込むような宣言はありませんか?
0534nobodyさん2007/09/19(水) 15:48:17ID:VHjt1ihL
$GLOBALSとか?
0535nobodyさん2007/09/19(水) 15:52:00ID:DH/EOPt7
>>533
何がしたいのかよくわからないが、引数で配列にでもして渡せば?
0536nobodyさん2007/09/19(水) 16:05:39ID:???
グローバル変数なんて使うなよ・・・
0537nobodyさん2007/09/19(水) 16:08:09ID:???
perl慣れした人だとPHPは違和感あるかも
0538nobodyさん2007/09/19(水) 16:08:48ID:???
Perl慣れした人がPHPに違和感感じなかったらPHPは何なんだよ
0539nobodyさん2007/09/19(水) 16:47:29ID:???
つまりは

$GLOBALS[hogehoge] = "あああ";
$GLOBALS[test] = "example.com";
$GLOBALS[2ch] = "まろゆき";

function Test(){
  global $GLOBALS;

というわけだよ

っうか
global $hogehoge,$test,$2ch;
でよくね?

これで20個渡したりする場合もあるよ?
0540nobodyさん2007/09/19(水) 16:51:02ID:???
>global $GLOBALS;
( д) ゚ ゚
0541nobodyさん2007/09/19(水) 16:52:31ID:???
>>539
お前どこの基地外・・・
0542nobodyさん2007/09/19(水) 16:53:50ID:???
>>539
なんだそりゃ・・・

$hogehoge = "あああ";
$test = "example.com";
$2ch = "まろゆき";

function Test()
{
echo $GLOBALS['hogehoge'];
echo $GLOBALS['test'];
echo $GLOBALS['2ch'];
}
0543nobodyさん2007/09/19(水) 16:56:33ID:???
>>542
オブジェクトもそれで渡せたっけ?
0544nobodyさん2007/09/19(水) 16:57:52ID:???
>>539
ネタだよな?w
http://search.net-newbie.com/php/language.variables.scope.html

例 12-3. globalのかわりに$GLOBALSを使用する

<?php
$a = 1;
$b = 2;

function Sum()
{
$GLOBALS['b'] = $GLOBALS['a'] + $GLOBALS['b'];
}

Sum();
echo $b;
?>
0545nobodyさん2007/09/19(水) 16:58:26ID:???
用途がわからんから何ともいえんがこれでいいだろ・・・

class ex
{
private $hogehoge = "あああ";
private $test = "example.com";
private $ch = "まろゆき";

public function ex_print(){
echo $this->hogehoge;
echo $this->test;
echo $this->ch;
}

}

$a = new ex();
$a->ex_print();

もしくは

$a = array('hogehoge'=>'あああ','test'=>'example.com','2ch'=>'まろゆき');
test($a);

function test($output_array){
foreach( $output_array as $val ){
echo $val;
}
}
0546nobodyさん2007/09/19(水) 17:02:10ID:???
仕事中のおまいらに質問

$hogehoge['aaa']
$hogehoge[aaa]

''って使ってる派? 使わない派?
どっちが多いのかな
0547nobodyさん2007/09/19(水) 17:03:10ID:???
>>546
俺は使ってる
たしか、使わないと変数としての「aaa」かどうか判断するために時間かかるって聞いたぞ
0548nobodyさん2007/09/19(水) 17:05:37ID:???
使わないとか意味がわかんねーよ、使わないでできるのかよ、って思ってやってみたらできたけどNoticeでるぞ
0549nobodyさん2007/09/19(水) 17:06:02ID:???
>>546
使ってる。使わないとエラーでるし。
0550nobodyさん2007/09/19(水) 17:06:45ID:???
>>546
明示的を重視して使ってる。(noticeもエラー扱いだし)
うちは’(シングルクォート)だけど、
’(シングルクォート)と”(ダブルクォート)だとどっち使ってる人が多いのかな?
0551nobodyさん2007/09/19(水) 17:09:16ID:???
>>550
基本的にはシングル、用途によってダブル
0552nobodyさん2007/09/19(水) 17:09:46ID:???
つうかさ、グローバル変数の使い方なんてバッドノウハウもいいとこ
0553nobodyさん2007/09/19(水) 17:10:41ID:???
>>550
基本的にシングル。ダブルは滅多に使わない。
0554nobodyさん2007/09/19(水) 17:14:28ID:???
$foo[bar]は古いスクリプトに残してるだけで使うなボケって、
PHPマニュアルさんがファビョってたから

$foo['bar']つかう。
0555nobodyさん2007/09/19(水) 17:15:16ID:???
>>552
グローバル変数使う奴なんて馬にけられて死ねばいい
だけど、自作フレームワークにsmarty組み込む時に、
一々assignするのがめんどうでGLOBALSの中身全部assignしてしまった俺も死ね
0556nobodyさん2007/09/19(水) 17:16:14ID:???
クオーテーション付けないと定数として解釈されるんじゃないのか?
0557nobodyさん2007/09/19(水) 17:17:37ID:???
$foo = array('bar'=>1, 'boo'=>2);
echo $foo[bar];
define('bar', "boo");
echo $foo[bar];
0558nobodyさん2007/09/19(水) 17:19:53ID:???
>>556
>下位互換性の維持のため、未定義の定数は同じ名前の文字列に自動的に変換されます。
PHPは地獄だぜヒャッホー
0559nobodyさん2007/09/19(水) 17:20:06ID:???
グローバル変数が何でそんなに嫌われているのか
PHP初心者のおれにもわかるように説明して下さい
エロイ人
0560nobodyさん2007/09/19(水) 17:22:27ID:???
>>558
今色々試してみたけど、何この糞仕様。
PHPなんてなくなったほうがいいんじゃない・・
0561nobodyさん2007/09/19(水) 17:23:55ID:???
>>559
グローバル変数は、ご存知のとおり適用範囲が必要以上に大きくなってしまう。
例えば、レンタルサーバーの場合、一人の住民がグローバル変数の値を変えると、
その変数を使っているレンタルサーバー内の住民の変数が全て変わってしまう。
そういう事情があって、使わない方がいいというより使ってはいけない。
0562nobodyさん2007/09/19(水) 17:25:12ID:???
>>561
ウソ教えんなwww
0563nobodyさん2007/09/19(水) 17:26:12ID:???
>>561
むちゃくちゃ言ってるな、そんな環境があったら怖いわ!。
0564nobodyさん2007/09/19(水) 17:26:55ID:???
>>561
ひろすぎwww
0565nobodyさん2007/09/19(水) 17:27:14ID:???
>>561
それなんて環境変数wwwwww
0566nobodyさん2007/09/19(水) 17:30:04ID:???
>>562-565
集団釣りワロスwwwwwwwwwwwwwww
0567nobodyさん2007/09/19(水) 17:32:03ID:???
久しぶりにスレが熱い気がス
0568nobodyさん2007/09/19(水) 17:32:51ID:DH/EOPt7
>>559
10ファイルくらいのスクリプトをグローバル変数だけで書いてみな。
意味がわかるだろ
0569nobodyさん2007/09/19(水) 17:37:23ID:???
>>559
僕が、globalを嫌ってる理由はね。

理由1 ソースを追っかけにくい
  どこで変数の値が変わるか分からないので、
  いちいち全体を追っかけないといけない。
  モジュールが増えれば増えるほど困難になる。

理由2 多人数での開発が難しい
  適用範囲が広いってことは、変数名がぶつかったり
  途中で違うものになったりして結合時などに大変なことになる。

理由3 昔の自分が書いたソースは意味不明w
  理由1とほぼ同じ。
0570nobodyさん2007/09/19(水) 17:41:42ID:???
'' についてmicrotimeで各5回づつ検証してみたぞ

$hogehoge['1'] = "ほげほげほげお";
for($i=0;$i<300000;$i++){
print $hogehoge['1'];
}

$hogehoge["1"] = 1.14〜1.22秒
$hogehoge['1'] = 1.22〜1.33秒
$hogehoge[1] = 1.11〜1.2秒

結論
30万回ループで差がない=変わらない。
0571nobodyさん2007/09/19(水) 17:42:15ID:???
文字列定数でやってみておくれ
0572nobodyさん2007/09/19(水) 17:50:51ID:???
$hogehoge[ほげほげほげお] = "ほげほげほげお";
for($i=0;$i<300000;$i++){
print $hogehoge[ほげほげほげお];
}

$hogehoge["ほげほげほげお"] = 1.2秒
$hogehoge['ほげほげほげお'] = 1.2秒
$hogehoge[ほげほげほげお] = 1.6〜1.7秒

差はでたが微妙すぎる
0573nobodyさん2007/09/19(水) 17:52:22ID:???
PHPでUnicodeの正規化する方法ない?
NFCとかNFDとか
0574nobodyさん2007/09/19(水) 17:52:22ID:???
ここでPHP今日の一句。
 「Noticeを、許したタイポで、地獄見る」

define('type', false);
if(typo){
echo "PHP「罠にかかったな小僧!」\n";
};
0575nobodyさん2007/09/19(水) 17:52:35ID:???
>>570
>>572
おつ
勉強になった。
0576nobodyさん2007/09/19(水) 17:56:04ID:???
POSTで送信したら''がクオートするけどさ
皆は自動でクオートするように設定してる?

自動にすると、なんかこの機能っていろんな意味で不便じゃね?
0577nobodyさん2007/09/19(水) 17:58:30ID:???
>>576

自動ONでやってる。
"の送信が\"になるのは
$_POST[a] = eregi_replace("[\]", "", $_POST[a]);
で回避してる。
0578nobodyさん2007/09/19(水) 18:02:00ID:???
>>577
何でstripcslashes使わないの?
0579nobodyさん2007/09/19(水) 18:02:08ID:???
>>577
それだと\が消える
0580nobodyさん2007/09/19(水) 18:02:09ID:???
>>576
マジッククォートに左右されないように書いてる。
基本はOFF。
0581nobodyさん2007/09/19(水) 18:05:26ID:???
>>576
magic_quotesはoffだな
05825772007/09/19(水) 18:17:29ID:???
stripcslashesってn・・・

あーーー!!!!
0583nobodyさん2007/09/19(水) 18:24:13ID:???
\n(改行)が連続 + $(末尾)

の正規表現はどう書くか教えて下さい。

----------
...
...
文章この行まで(以下空白部分を削除したい)



-----------
05845832007/09/19(水) 18:27:08ID:???
ID出していないので自己解決しました
0585nobodyさん2007/09/19(水) 18:32:14ID:???
ID以前にPHP関係ねぇ
0586nobodyさん2007/09/19(水) 18:59:30ID:???
$test['abc'] = 'def';
$begin = microtime(true);
for($i=0; $i<=300000; $i++){ if($test['abc'] == 'ghi'); }
echo microtime(true) - $begin . "\n";
$begin = microtime(true);
for($i=0; $i<=300000; $i++){ if($test["abc"] == 'ghi'); }
echo microtime(true) - $begin . "\n";
$aaa = microtime(true);
for($i=0; $i<=300000; $i++){ if($test[abc] == 'ghi'); }
echo microtime(true) - $begin . "\n";

結果
0.054291009903
0.0549669265747
0.413056850433

相当遅い。
0587nobodyさん2007/09/19(水) 19:04:33ID:???
↑間違えた$aaaは$beginね

あとこういうのやってみた。

$test['abc'] = 'def';
$key = 'abc';
$y = 'y';
for($i=0; $i<=300000; $i++){ if($test[$key] == 'ghi'); }
for($i=0; $i<=300000; $i++){ if($test["$key"] == 'ghi'); }
for($i=0; $i<=300000; $i++){ if($test["ke$y"] == 'ghi'); }
for($i=0; $i<=300000; $i++){ if($test['ke'.$y] == 'ghi'); }

0.0560829639435
0.0782399177551
0.2595911026
0.241644859314

やはり差が出る。
■ このスレッドは過去ログ倉庫に格納されています