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

【PHP】下らねぇ質問はID出して書き込みやがれ 104

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2011/02/14(月) 16:45:59ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 103
http://hibari.2ch.net/test/read.cgi/php/1295956018/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0102。2011/02/16(水) 18:37:04ID:???
>>94
$text = preg_replace( "/.*(?=<title>)/", "前",$text,1);
$text = preg_replace( "/(?<=<\/title>).*/", "後",$text,1);
0103nobodyさん2011/02/16(水) 19:04:17ID:???
>>98
原因はわからんが、それをするなら
$int = $_GET[int] + 0;
0104nobodyさん2011/02/16(水) 19:11:33ID:xv6q7uMH
【OS名】CentOS
【PHPのバージョン】5.1.6

ob_get_level()でレベルを取得すると2となります。
クライアントに即座にデータをおくりたいのですが、
ob_get_level()で1がかえってくるようにするには
どのようにすればよろしいでようか?

0105nobodyさん2011/02/16(水) 19:12:24ID:???
>>99
試してないけど
preg_replace("/\<title\>(.*?)\<\/title\>/", "example<title>$1</title>example" , $text)
0106nobodyさん2011/02/16(水) 19:14:03ID:???
>>104
ネストから抜ければいいじゃん
01071042011/02/16(水) 19:17:48ID:???
>>106

すみません。
ネストから抜けるとは具体的にどの様にすれば良いのでしょうか?
0108nobodyさん2011/02/16(水) 19:21:48ID:???
>>103
ヒント:キャスト
0109nobodyさん2011/02/16(水) 19:22:33ID:???
>>107
つGoogle先生
0110nobodyさん2011/02/16(水) 19:24:14ID:???
>>107
ob_get_levelの意味はわかってるよね
ob_startを2回したからネストレベルが2になったんだろ
ob_end_flushやob_end_cleanでバッファリングを1段終了できるよね
ていうか何のためにob_startしてるか理解してるの?
0111nobodyさん2011/02/16(水) 19:24:57ID:???
>>108
どっちでも一緒だから
01121072011/02/16(水) 19:34:13ID:???
>>109
ありがとう

>>110
すみません。意味がやっとわかりました。
おかげで期待通りの動きになりました。

ありがとうございました。
0113942011/02/16(水) 19:44:25ID:0JcE1KEJ
>>102
4つ目の引数に1って指定できるの知りませんでした。
正規表現も勉強になります。
実際のデータにはエンティティ化された文字がはいっててtitileタグ内はそのままで
エンティティ化された部分だけを置き換え出来るようにしたいと考えてます。
<""><title>title</title><"//">
を
<""><title>title</title><"//">
としたいので<title>の前の部分の内容によって置き換え条件を変更したいわけです。
explodeみたいなので配列に分割できればラクそうだったんですが。
[0]=> <""> [1]=> <title>title</title> [2]=> <"//">
こんな風に出来れば指定部分だけそのままで配列0と2だけ置き換えしてimplodeでもすれば出来るんじゃないかと。
こういうことが出来るのかどうか、代替手法があるのかどうかちょっとまだ見えてないんですが。
0114nobodyさん2011/02/16(水) 20:01:42ID:???
へ〜
0115nobodyさん2011/02/16(水) 20:04:22ID:???
PHPのバッチをhttpdのプロセス上で実行するのと
コマンドプロンプトからPHPを実行した場合、
後者のほうがパフォーマンスはいいのですかね?
0116nobodyさん2011/02/16(水) 20:06:43ID:???
そりゃHTTPリクエストやら何やらでApacheが動く分、前者のほうが不利だろうなぁ
0117nobodyさん2011/02/16(水) 20:06:50ID:???
>>1
0118nobodyさん2011/02/16(水) 20:08:10ID:???
$text = '<&quot;&quot;><title>title</title><&quot;//&quot;>';

if (preg_match('#(.*?)(<title>.*?</title>)(.*)#i', $text, $match)) {
$text = str_replace('"', '"', $match[1])
. $match[2]
. str_replace('"', '"', $match[3]);
}

echo $text;
0119nobodyさん2011/02/16(水) 20:15:59ID:???
その話題はもう終わった
0120nobodyさん2011/02/16(水) 20:56:51ID:DO+wFNoc
PHP5のファイルの文字コードと改行コードって
どうするのがスタンダードですかね?
0121nobodyさん2011/02/16(水) 21:05:23ID:???
>>120
>>4のFAQを読め
0122nobodyさん2011/02/16(水) 22:47:21ID:DO+wFNoc
>121
EUC-JPかUTF-8ってのは分かってるんですけど
それでもどっちがスタンダードかなと思いまして。
あと、改行コードはCRLFとLFどっちですかね?
0123nobodyさん2011/02/16(水) 23:03:20ID:???
全部UTF8で統一しろ
そうすりゃ文字コードで悩む事は無くなる
0124nobodyさん2011/02/16(水) 23:47:11ID:???
>>122
改行コードは好きにしろ
リモートならFTPでアップするときにアスキーモードで勝手に変換されるだろ
0125nobodyさん2011/02/17(木) 10:29:53ID:T4c0Fhk0
多次元配列のデータをファイルに保存、復帰させて使いたいと思ってます。
json_encode json_decode を使えば簡単なんですがメモリ消費が激しく
今はしのげるものの、今後増え続ける変換処理でメモリ不足になります。
もっと動作的にもメモリ的にも軽く使う方法があれば教えてください。
0126nobodyさん2011/02/17(木) 10:44:17ID:???
>>125
クソ深いネスト構造だとあまり効果が見込めないが
http://php.net/manual/ja/class.splfixedarray.php
具体的なデータの構造と用途を披露したら別のアプローチも出るんじゃね
0127nobodyさん2011/02/17(木) 10:51:57ID:???
多次元配列をそのまま保存・復帰とか
そんな手抜きするやつはビンタだな
0128。 ◆oDupeixhZv52 2011/02/17(木) 11:17:46ID:???
>>125
serializeとかvar_exportでも同じだろうから、
配列読みながらファイルに書き込むのを作るしか。
0129nobodyさん2011/02/17(木) 12:12:10ID:DXaPju3P
デザインパターンはマニュアルのクラスのところを全部覚えてから勉強したほうがいいものですか?
0130nobodyさん2011/02/17(木) 12:40:14ID:fkwoRsvL
某フリーのアプリケーションをDLして使ってみたら正常に動かず、
require "config.php";
として呼び出されているconfig.phpの中身が丸ごと画面に出力されていました
で、よくみるとconfig.phpには
<?php と ?> の、頭とお尻のphp宣言がない状態でした。
?>を書かないというのは聞いたことありますが、<?phpを省略するなんて可能なんですか?
結局両方とも書き足したら動くようになったんですが、「<?phpを書かなくても動くようにする」には
どうしたら良いんでしょうか?
0131nobodyさん2011/02/17(木) 12:51:59ID:???
無理ですしphpファイルだからってPHPコードを含めないといけない訳ではないでしょ
0132。 ◆oDupeixhZv52 2011/02/17(木) 13:10:14ID:???
eval( file_get_contents("config.php")); ってのは思いついたけどなんか違うよね。
0133nobodyさん2011/02/17(木) 13:12:17ID:guOwmBH1
ApacheとPHPを普通にインストールして関連付けた段階なんだけど、
require "config.php";
って書いただけで、それが書かれたファイルがある場所とは別の
ライブラリ専用フォルダの中から探してきてくれるようにするにはどうすればいい?
0134。 ◆oDupeixhZv52 2011/02/17(木) 13:15:14ID:???
>>133
http://www.php.net/manual/ja/ini.core.php#ini.include-path
0135nobodyさん2011/02/17(木) 13:57:09ID:???
>>131,132
どうもです。アプリケーションの書き間違いだったんですかね。
不具合のレポートとか調べてみることにします。ありがとう
0136nobodyさん2011/02/17(木) 14:37:52ID:hXN9jln4
【OS名】CentOS
【PHPのバージョン】5.1.6
【連携ソフトウェア】
【質問内容】
実行されているPHPのプログラムが
CLIモードで動いているかどうかを
取得する方法はありますか?
0137。 ◆oDupeixhZv52 2011/02/17(木) 14:51:12ID:???
print PHP_SAPI;
0138nobodyさん2011/02/17(木) 14:53:27ID:uc0VVbVb
$a = '123123123123';
echo strpos($a, '3');
この場合の結果は2となりますが$aに含まれる3の場所全部を探したい場合はどうすればいいですか?
01391362011/02/17(木) 14:59:04ID:???
>>137
ありがとうございました。
0140nobodyさん2011/02/17(木) 15:09:53ID:???
>>138
$b = array();
for($i = 0; $j = strpos($a, '3', $i); $b[] = $j, $i = $j + 1);
var_dump($b);
0141。 ◆oDupeixhZv52 2011/02/17(木) 15:17:18ID:???
>>138
http://php.net/manual/ja/function.strpos.php に
strposallってサンプルがあるよ。
0142nobodyさん2011/02/17(木) 20:01:49ID:srZURUor
preg_matchで修飾子にuをつけたんですが、
preg_match(): Compilation failed: range out of order in character class
っていうエラーが消えません。
原因は他にあるんでしょうか?
0143nobodyさん2011/02/17(木) 20:04:09ID:???
ぐぐりましたか?
0144nobodyさん2011/02/17(木) 20:14:33ID:???
>>124
どっちでもいいとか言われると困る〜
どっちがいいんですか〜
0145nobodyさん2011/02/17(木) 20:19:08ID:???
>>142
対象文字列の文字コード
0146nobodyさん2011/02/17(木) 20:21:02ID:???
>>145
PHPのソース中の改行コードは空白文字と一緒だから本当にどっちでもいい。
でもまぁWindowsならCRLFにしとけ。
0147nobodyさん2011/02/17(木) 20:24:58ID:???
>>144
商用鯖の常識ではLF
0148nobodyさん2011/02/17(木) 20:25:23ID:???
>>36
他人を卑下するって言い回しは正しくないと思います
0149nobodyさん2011/02/17(木) 20:28:52ID:???
ひ‐げ【卑下】 [名・形動](スル)
1 自分を劣ったものとしていやしめること。へりくだること。「そんなに―する必要はない」
2 いやしめて見下すこと。また、そのさま。
「自修の事を甚だ―なる田地に落ち沈ましむるなり」〈中村訳・西国立志編〉
0150nobodyさん2011/02/17(木) 20:29:30ID:???
>>147
お前の頭の中では「Linux=商用鯖」かよwww
0151nobodyさん2011/02/17(木) 21:25:59ID:fkwoRsvL
linux板で質問したらこちらに誘導されたので来ました。以下の質問、お願いします
------
apacheのバーチャルホストでwww_example1_comとwww_example2_comの2つを運用していて、
phpのinclude_pathを以下のように定義しようとしました

1)両方のサイトで共通して使うパスは、php.iniのinclude_pathで設定
  例:PearやFrameworkのライブラリへのパス
2)それぞれのサイトで使う固有のパスは、httpd.confの<Virtualhost>部分で設定。
  例:利用DBのテーブル名などconfigファイルへのパス
  php_admin_value include_path "/var/www/example1/application:/var/www/example1/php_libs/config"

でも、実際に動かしてみたらうまくいかず、こんなエラーが出ます。
 PHP Fatal error: require_once() [<a href='function.require'>function.require</a>]: Failed opening required
 'Zend/Controller/Front.php' (include_path='/var/www/example1/application:/var/www/example1/php_libs/config')
固有のinclude_pathは認識してるものの、共通のパスの方は認識してないってことでしょうか?

phpinfo();で表示されるinclude_pathは共通の方(php.ini)で指定してある方なんですが…
どうしたら良いのか、ご意見お願いします

-----
linux板では、1)のphp.iniの内容を2)のhttpd.confが上書きしてるからだと言われたんですが、
この2つは共存できないものなんですか?
そうだとすると、両方のサイトそれぞれの<virtualhost>宣言部分に全部まとめて書くしかないんでしょうか?
0152nobodyさん2011/02/17(木) 21:47:13ID:???
3行にまとめてくれ
0153 冒険の書【Lv=2,xxxP】 (´・ω・)ス2011/02/17(木) 21:56:49ID:???
>>151

> phpinfo();で表示されるinclude_pathは共通の方(php.ini)で指定してある方なんですが…

www_example1_com
www_example2_com

それぞれでの phpinfo() で表示された値を教えてください。
まとめたり、略したりせずにお願いします。

0154nobodyさん2011/02/17(木) 22:22:34ID:fkwoRsvL
>>153
ありがとうございます

www_example1_comでのphpinfo()は
 include_path /var/www/example1/application:/var/www/example1/php_libs/config
www_example2_comでのphpinfo()は
 include_path .:/usr/lib/php/PEAR:/usr/lib/php:/usr/lib/php/Smarty:/usr/lib/php/ZendFramework/library

httpd.confでは以下のようになっています
<VirtualHost *:80>
ServerName www.example1.com
DocumentRoot /var/www/example/html
php_admin_value include_path "/var/www/example1/application:/var/www/example1/php_libs/config"
</VirtualHost>
<VirtualHost *:80>
ServerName www.example2.com
DocumentRoot /var/www/example2/html
#php_value include_path ""
</VirtualHost>

php.iniは
include_path=".:/usr/lib/php/PEAR:/usr/lib/php:/usr/lib/php/Smarty:/usr/lib/php/ZendFramework/library"

<VirtualHost>ディレクティブでinclude_pathを指定してないexample2はphp.iniの通りに返してるようです
0155nobodyさん2011/02/17(木) 22:46:16ID:qWpUfC6V
上書きする仕様どおりですね。ちゃんと動作してるじゃないですか。
(上書きできなきゃ困るでしょう?)
あきらめてサイト別に全部書いてさい。
0156 冒険の書【Lv=2,xxxP】 (´・ω・)ス2011/02/17(木) 22:50:38ID:???
>>154

ありがとう!

申し訳ないが確認させてください。

www.example1.com では、
 include_path /var/www/example1/application:/var/www/example1/php_libs/config

を望んでいますか?

www.example2.com では、
 include_path .:/usr/lib/php/PEAR:/usr/lib/php:/usr/lib/php/Smarty:/usr/lib/php/ZendFramework/library

を望んでいますか?

もしも、www.example1.com、www.example2.com それぞれで望んでいない include_path ならば、
それぞれで、何を望んでいるかを具体的に教えてもらえますか?
0157nobodyさん2011/02/17(木) 22:55:50ID:???
>>155
やっぱり上書きなんですね。諦めて全部書くことにします
どうもありがとう

>>156
えーと、教えてもらう側なのにそんなにへりくだられても妙な気分なんですが…
両方とも望んでますよ。
要するに、共通して使うシステムのinclude_pathをphp.iniにまとめて書いて、
個別に専用で使うinclude_pathを<virtualhost>ディレクティブに書きたいという
希望だったので。。
諦めて<virtualhost>ディレクティブに、専用・共通全てのinclude_pathを指定することにします

どうもありがとうございました
0158 冒険の書【Lv=2,xxxP】 (´・ω・)ス2011/02/17(木) 23:24:45ID:???
>>157 ありがとうございます。

質問の意図を私が理解し切れなかったので、いろいと質問してしまいました。
解決の糸口が見つかって自分で試せる状況まで進めたことは幸あることです。

良い結果に感謝です!
0159nobodyさん2011/02/17(木) 23:48:30ID:???
>>157
差し出がましいようで心苦しいのですが、
実行するphpファイルに直接書き込むのが最も単純だと
私のような下々のものは考えるのですが、いかがでしょうか。
set_include_path()
0160nobodyさん2011/02/18(金) 00:28:41ID:???
お前らいい加減にしろ!
0161nobodyさん2011/02/18(金) 07:06:49ID:???
>>160
お前がいい加減にしろ!
0162nobodyさん2011/02/18(金) 07:39:28ID:???
>>161
お前もいい加減にしろ!
0163nobodyさん2011/02/18(金) 08:42:48ID:???
exit();
0164nobodyさん2011/02/18(金) 16:03:50ID:Mrnk7oLN
【OS名】Windows7
【PHPのバージョン】5.1
【連携ソフトウェア】Eclipse Zendデバッガー XAMPP
【質問内容】
スレ違いだったらごめんなさい。

EclipseとXAMPPをつかって開発をしているんですが、
PHPをCLIで実行したときにXAMPPのPHPフォルダの
php.iniの設定を読み込んでくれません。

Zendデバッガーのtmp領域に作成される
php.iniを見ても、XAMPPのPHPフォルダのphp.iniの
内容とは異なるものができ上がっています。

CLIで動かしたときには元はどこのiniファイルを見ているのでしょうか。
わかる方がいらっしゃいましたら
よろしくお願いいたします。
0165。 ◆oDupeixhZv52 2011/02/18(金) 16:21:27ID:???
php-cli.ini を読んでるんじゃないですかね。

http://php.net/manual/ja/configuration.file.php
0166nobodyさん2011/02/18(金) 16:23:59ID:ZHHwRd0X

【OS名】CentOS
【PHPのバージョン】5.1.6
【連携ソフトウェア】
【質問内容】

APIへのPOSTリクエストで手詰っています。
OAuthを利用した認証からGETでのデータ取得まではHTTP_OAuthを利用してできました。
しかし「Content-Typeをapplication/jsonでjsonデータをPOSTする」部分がどうしてもわかりません。
最終的には$consumer(HTTP_OAuth_consumer で作成)->sendRequest([API URL],$params,"POST");
という形で送ると考えているのですが、headerをどこに記述したらいいのか・・HTTP_REQUESTのsetHeader?いや$paramsの中に直接記述?などと様々な試行錯誤を繰り返したものの、結果は「400 Bad Request」のみです・・
1週間ほど格闘してもうお手上げなので、どなたかアイデアをお願いします。
01671642011/02/18(金) 17:11:37ID:Mrnk7oLN
>>165

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

XAMPPのフォルダを見たのですが
php-cli.iniはありませんでした。

試しにC:\windowsの中に
php-cli.iniをつくってみたのですが、
これでも動きませんでした。

どこか他に見ているところがあるのでしょうか。。。。
0168nobodyさん2011/02/18(金) 17:19:54ID:NY+ifgVH
【OS名】WindowsXP Home SP3
【PHPのバージョン】5.2.14
【質問内容】
PHP + SFTPでファイルを送信したいと考えています。
pecl ssh2のコンパイルが難しそうなので、PuTTY付属のplinkで何とかしたいのですが、
exec('plink -P ポート -l user -pw pass 11.11.11.11')
でログインした状態のplinkにメッセージを送る方法が分かりません。
何かよい方法があればご教示ください。よろしくお願いします。
0169。 ◆oDupeixhZv52 2011/02/18(金) 17:44:28ID:???
>>167
phpinfo()見てって言えばよかったのか。
0170。 ◆oDupeixhZv52 2011/02/18(金) 18:01:17ID:???
>>168
expect_expectl かなぁ。
0171nobodyさん2011/02/18(金) 18:42:58ID:TKcD2AZD
すみません。
携帯からPOSTされる文章の改行コードって"\n"でしょうか?
それとも"\n\r"(?)でしたでしょうか?
機種によって違うのでしょうか?
携帯ややこしいです。
0172nobodyさん2011/02/18(金) 18:55:08ID:fb4Kr5zE
【OS名】Windows 7
【PHPのバージョン】5.3.5 (VC6 X86 32bit) + PEAR
【連携ソフトウェア】
pdo_mysql / mysqlnd 5.0.7-dev - 091210 - $Revision: 304625 $
MySQL 5.5.8 (Community Server) / Apache 2.2.17 / XAMPP (Basispaket) 1.7.4
【質問内容】
$stmt = $dbh->prepare('SELECT 2011');
$stmt->execute();
var_dump($stmt->fetchColumn());

以上のコードを実行すると int(2011) と表示されます
PHP Manual によると string 型で返るはずですが、int 型で返ってしまいます
仕様通り string 型で返すにはどうすれば良いでしょうか
http://www.php.net/manual/ja/pdostatement.fetchcolumn.php
0173nobodyさん2011/02/18(金) 18:55:56ID:???
>>168

> exec('plink -P ポート -l user -pw pass 11.11.11.11')
> でログインした状態のplinkにメッセージを送る方法が分かりません。

誰が何にログインした状態を想定しているのかを教えてください。
0174nobodyさん2011/02/18(金) 19:00:36ID:???
>>172

$stmt = $dbh->prepare('SELECT 2011');
$stmt->execute();
//
$result = $stmt->fetchColumn();
//
var_dump( $result );
//
if ( is_integer( $result ) ) {
 :
 :

var_dump の仕様についての問い合わせですか?
何の仕様についての問い合わせですか?

質問の対象がぼやけ始めています。
0175。 ◆oDupeixhZv52 2011/02/18(金) 19:02:52ID:???
>>172
うちは
string(4) "2011" だよ。
01761682011/02/18(金) 19:05:29ID:???
>>170
ありがとうございます。
それもpeclなので、コンパイルできずちょっと難しそうです。
WSHでも出来ないようで困りました…

>>173
SFTPを使用するためにuserがサーバにSSHでログインした状態です。
0177nobodyさん2011/02/18(金) 19:09:31ID:???
>>167
初心者がXAMPP使うな
0178。 ◆oDupeixhZv52 2011/02/18(金) 19:19:04ID:???
>>176
続くコマンドをファイルに書いて  -m file ではいけますか?
01791682011/02/18(金) 19:58:52ID:???
>>178
ありがとうございます。それでいけました!
0180。 ◆oDupeixhZv52 2011/02/18(金) 20:01:32ID:???
>>171
全機種調べる気力もなければ、今後の機種もどうなるか分からないので、
どっちでもいいようにプログラム組めってことですよね。
0181nobodyさん2011/02/18(金) 20:16:15ID:???
POSTの改行コードなんて全置換かnl2brtの時くらいしか意識しなくていいと思うが
0182nobodyさん2011/02/18(金) 20:19:58ID:???
<?php
if (PHP_SAPI != 'cli') {
die("Please run this test from CLI!\n");
}

ini_set('display_errors', 1);
ini_set('output_buffering', 0);
error_reporting(-1);
if (!ini_get('safe_mode')) {
set_time_limit(1);
}

echo "Testing float behaviour. If this script hangs or terminates with an error ".
"message due to maximum execution time limit being reached, you should ".
"update your PHP installation asap!\n";
echo "For more information refer to <http://bugs.php.net/53632>;.\n";
$d = (double)"2.2250738585072011e-308";
echo "Your system seems to be safe.\n";
0183nobodyさん2011/02/18(金) 20:40:20ID:???
http://code.google.com/p/noop/
新時代の言語
0184nobodyさん2011/02/18(金) 21:15:22ID:???
noobにはピッタリだな
0185nobodyさん2011/02/18(金) 23:20:30ID:???
メディーーック
0186nobodyさん2011/02/19(土) 09:10:39ID:Gww6mUql
$hoge = 'hoge';
$fuga = 'fuga';
みたいなのがあって何度も「$hoge . $fuga」を使いたいときは
$piyo = $hoge . $fuga;
としてから「$piyo」を使うほうがいいんですよね?

スーパーグローバル変数はこんなふうに別の変数に入れなおさなくてもいいんですか?

本当にくだらないかもしれませんがよろしくおねがいします
0187nobodyさん2011/02/19(土) 09:13:06ID:???
>>186
良いの基準は?
0188nobodyさん2011/02/19(土) 09:35:43ID:Gww6mUql
>>187
186の例だと短い文字列の連結だけなのでたいした違いはないと思いますが
「$hoge . $fuga」じゃなくもっと複雑な処理をしたあとの結果を何度も使う場合は
その結果を変数に入れておけば毎回複雑な処理をしなくて済むんですよね?
無駄な処理をしなくて済んで効率的だという意味の「よい」です

スーパーグローバル変数は、処理がされた結果が入っているのか、
たとえば$_SERVER['REMOTE_ADDR']と書くたびにREMOTE_ADDRを取得しに行くのか、
後者なら変数に入れなおす必要があるのかな、と思いました
関数じゃなくて変数だから結果が入っているのかな・・・?
0189nobodyさん2011/02/19(土) 09:50:02ID:???
変数に入れることによるメモリ消費量の増加と
処理をすることによるCPU負荷を天秤にかければいいさ
0190nobodyさん2011/02/19(土) 09:58:14ID:???
>>189
知りたいのは、スーパーグローバル変数はすでに結果が入っているのかどうかということです
188の最後の行で正解ですか?
0191nobodyさん2011/02/19(土) 09:58:28ID:???
>>188
スーパーグローバル変数は、変数であるのであなたの杞憂するような
余計な処理というのは入っていない。単純に配列から取り出しているだけ。

見かけ上配列と同じArrayAccessインターフェイスのがあるが、こちらは
配列的アクセスしたとしても関数を呼び出すので、多少なりとも配列から
呼び出すのより遅くはなる。

それとグローバルの$hogeは$GLOBALS['hoge']と同じことなのだから、
たぶんほとんど差がない。
0192nobodyさん2011/02/19(土) 10:05:38ID:???
ぴゅっ
0193nobodyさん2011/02/19(土) 10:06:09ID:???
>>191
どうもありがとうございます
0194nobodyさん2011/02/19(土) 10:08:35ID:???
グローバル変数使ってるうちは素人だってじっちゃが言ってた
0195nobodyさん2011/02/19(土) 12:40:59ID:???
PHPファイルのインデントは
タブと半角スペースどっちが推奨ですか?
0196nobodyさん2011/02/19(土) 12:46:43ID:???
>>195 >>1
エディターにお任せが良い。
0197nobodyさん2011/02/19(土) 13:06:27ID:???
エディターは何使ってる?
0198nobodyさん2011/02/19(土) 13:33:20ID:???
ノートパッド
0199nobodyさん2011/02/19(土) 13:36:56ID:???
peggy
0200nobodyさん2011/02/19(土) 14:02:24ID:???
ノートパッド
0201nobodyさん2011/02/19(土) 14:15:37ID:???
peggy
■ このスレッドは過去ログ倉庫に格納されています