トップページ⇒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カテゴリ)の各スレで
0466nobodyさん2007/09/18(火) 22:53:06ID:???
<script language="JavaScript">
<!--
JavaScriptコード
//-->
</script>
<?php
PHPでOnの時のHTMLをうんたらかんたら
?>
<noscript>
<?php
PHPでOffの時のHTMLをうんたらかんたら
?>
</noscript>
0467nobodyさん2007/09/18(火) 22:53:20ID:???
>>465 サーバとクライアントとを近藤してマイカ?
0468nobodyさん2007/09/18(火) 23:00:42ID:WeDTSAXg
>>464
すみません、できました・・。

別の質問ですが、
$month="06"だった場合、表示する時に"6"としたいのですが、
どうすればよいのでしょうか?

date("n",strtotime($month))としても駄目でした
0469nobodyさん2007/09/18(火) 23:09:46ID:???
>>468
echo sprintf('%d', $month);
echo substr($month, 1, 2);
echo (int)$month;

お好きなものを
0470nobodyさん2007/09/18(火) 23:14:31ID:YODMOTH4
>>466
どもです。
それもやってみたのですが、ソースを見ると同じ内容が2回も書かれてるのをみて唖然として
それで今スイッチを探してるのです。
ネットで探してもそれらしき情報ないようでPHPの使う人はJAVAスクリプトは使わないんですかね。
0471nobodyさん2007/09/18(火) 23:15:17ID:???
<html>
<head>
<script type="text/javascript">
window.onload=function(){
document.getElementById('main').style.display = "";
}
</script>
</head>
<body>
<noscript>
JavaScriptがoffな人のボディ
</noscript>
<div id="main" style="display:none">
JavaScriptがonの人のボディ
</div>
</body>
<html>

JavaScriptで振り分けたいなら、JavaScript使えばよろし。
0472nobodyさん2007/09/18(火) 23:19:59ID:???
ああよく考えたら466はなってなかったな。すまん。
0473nobodyさん2007/09/18(火) 23:23:41ID:???
>>470
JSが有効か無効かはサーバからは判断できないから
探してもそれらしき情報なんて出る訳が無い。

ソースまで気にするのならどっかにリダイレクトさせるなりするしかないんじゃね?
JSONつかってやるってのもあるだろうけど既存の動的なサイトがあるんなら
それを対応させるのは相当面倒になると思うよ
0474nobodyさん2007/09/18(火) 23:28:11ID:ZcU0BWXG
フォームからデータを受け取ったページで
print_r($_SESSION);
を記述しておくと下のように表示されました(一部抜粋ですが)。

Array ( [action] => process [timing1] => あ [timing2] => い [comments] => う

ただし、print_r($_SESSION);の後に、
if(isset($_SESSION["○○○"]))を記述してみると(○○○にはtiming1などが該当)、
timing1はfalseに対し、
timing2とcommentsはtrueでした。

timing1もtrueになるようにしたいのですが、思い当たる点があればアドバイスいただければと思います。
0475nobodyさん2007/09/18(火) 23:53:14ID:YODMOTH4
>>471
ありがとうございます。
やってみたところ希望してた動作をしてくれています。
感謝感謝です!
0476nobodyさん2007/09/18(火) 23:57:05ID:dkyCnIzv
>>456
知らない言葉が沢山ですが
とりあえず、ググって見ようと思いますありがとう!
0477nobodyさん2007/09/18(火) 23:57:32ID:YODMOTH4
>>473
>>471をみてオンの人の所で読みに行くphpでオン用オフ用で分けて変数が空なら
オフの内容を、変数に例えば$java="on";と入ってればオン用内容を出すようにしてみました。
かなりいいとこまで出来てきました。
0478nobodyさん2007/09/19(水) 00:01:08ID:???
え
0479nobodyさん2007/09/19(水) 00:06:14ID:???
純粋なPHPの質問ではないかもしれませんが、Web経由でユーザに
アップロードさせたWordやExcelファイルをPDFに変換した上で、
ユーザにPDFファイルを返す、ということをするにはどうすればよいでしょうか?
Webサーバ上にAcrobat8.1はインストールしてあります

Acrobatではムリで
http://www.simplesystems.co.jp/product/pdfutl/pdfutl.html#DocToPDF
↑こういうもの
を使わないとダメでしょうか?
0480nobodyさん2007/09/19(水) 00:09:15ID:???
>>474
timeing1が何らかの理由でセットされてない或いはタイポしてるとしか
>>477
クライアントサイドからサーバサイドの変数を操作して引き継げてんの?
本当にいいとこまでできたんなら凄いからぜひコード見せて。振り分け関係の部分だけでいいから。
>>479
http://pear.php.net/package/File_PDF
とかCOMとか。
0481nobodyさん2007/09/19(水) 00:19:16ID:???
>>480
ありがとうございます
でもdocumentationらしくものがなく・・・お手上げです
せっかく教えていただいたのにすみませんが私ではムリそうです
0482nobodyさん2007/09/19(水) 00:24:35ID:???
なんのdocumentation?
つかどの質問なのか分かんないけど
0483nobodyさん2007/09/19(水) 00:44:57ID:FnoZX1AE
>>480
レスありがとうございます。
print_r($_SESSION);で表示されてもセットされないって事があるんですか?
タイプミスは一応気にしてみてみたつもりですが、再度チェックしてみます。
0484nobodyさん2007/09/19(水) 00:58:17ID:???
>>483
問題が発生するコード見せて
0485nobodyさん2007/09/19(水) 01:32:59ID:FnoZX1AE
>>484
申し訳ない。
コードは今手元にないんだ。
明日と言うか今日再チャレンジしてみて、どうしても駄目だったら、
現象が再現する最低限のソースを出せるように準備したいと思います。
0486nobodyさん2007/09/19(水) 01:35:44ID:???
<?php

function f(&$arg) {
return $arg['c'];
}
function g(&$arg) {
return $arg;
}
function h(&$arg) {
return isset($arg['c']);
}

$a=array();
f($a); // error
g($a['c']); // not error
h($a['c']); // not error
?>

なんでこの言語設計者はこんなバッドノウハウを埋め込みやがりますか?
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
■ このスレッドは過去ログ倉庫に格納されています