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

【php】part29【php】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2005/07/06(水) 09:57:54ID:0DucnAyH
・PHP全般の質問スレです。
・新規質問の方は上げてください。age進行でお願いします。
・質問する際には環境も明記。
・正しい日本語で分かりやすく。
・レスがつかないからって逆切れする厨お断り。
・解決しなくてもこたえてもらったら礼を。
■本家
 http://www.php.net/
■日本 PHP ユーザ会
 http://www.php.gr.jp/
■PHP マニュアル
 http://www.php.net/manual/ja/
■PEAR マニュアル
 http://pear.php.net/manual/ja/
過去スレ, 関連スレ等>>2-10辺り

前スレでは、尾張の方でお世話になりました。
原因は唯のファイル名間違いでした。ダッセー俺OTZ

0074nobodyさん2005/07/15(金) 16:37:15ID:???
そんなに不安なら、postとgetを混ぜたグローバル変数を自分で作ればいいじゃん。
$GLOBAL['form']['〜']
0075nobodyさん2005/07/15(金) 16:47:27ID:???
漏れは$_REQUEST使おうとすら思ったことないんだけど、実際便利なの?
使ってる人教えて。
いや、Mojavi導入したらもはや関係ないんだけどさ・・・。
0076nobodyさん2005/07/15(金) 18:00:51ID:SL/muoKm
ファイルが存在するディレクトリを1発で消す方法はないですかね?

ひょっとして再帰的に

ファイル消す->フォルダ消す

という作業をを繰り返さないといけないのですかね?

rmdir()は指定ディレクトリ内にファイルが存在すると
エラーになってしまう。
0077732005/07/15(金) 18:07:25ID:???
>>75
便利というか、GPCを見分ける必要があるのなら、
それなりのリクエスト処理クラスを用意するし。
逆に言うと、$_GETとか$_POSTはリクエスト処理クラス以外では使わない。
処理クラスを用意するまでも無いのなら、$_REQUESTで十分てな感じか。
もちろん、例外も有りますが。
0078nobodyさん2005/07/15(金) 18:09:17ID:???
>>76
system('/path/to/rm -fr /path...');
0079nobodyさん2005/07/15(金) 18:13:06ID:???
>>76
正解。
自分で作るか、>>78のように再帰的に消すコマンドを使うか、pear辺りに転がってる誰かが作ったものを使うか。
0080nobodyさん2005/07/15(金) 19:16:49ID:???
>>79
この間それ作っていてふと思ったんだけど、運用ではなくもしスクリプトを作ってる途中に
うっかりミスとかして、ローカルのルートから全部ファイルが消えてしまった!!
とかやった奴おる?
0081762005/07/15(金) 19:43:08ID:SL/muoKm
>>80
怖い。。。。

>>78
>>79
ありが�d
0082nobodyさん2005/07/15(金) 19:52:09ID:???
>>80
そんなスクリプトをrootで動かしていたら馬鹿だろーな。
0083nobodyさん2005/07/16(土) 04:52:36ID:???
>>73

cookieに上書きされてハマるという状況が想像できないんだけど、
具体的な例をあげてもらえますか。
0084nobodyさん2005/07/16(土) 09:54:26ID:???
>>83
昔のスクリプトをいじったりするときに新しくクッキーを追加したらバグったとか
可能性があるってことで実例はないと思う
0085nobodyさん2005/07/16(土) 10:02:31ID:???
つまり、マヌケな奴は$_REQUESTを使うな、という事でFA?
0086nobodyさん2005/07/16(土) 13:32:38ID:???
みんなローカルはUnix鯖建てて開発してるの?
ぼきはWindowsにApache入れてるんだけど。
0087nobodyさん2005/07/16(土) 13:45:57ID:???
いちいちレンタル鯖にあげてテストしてますが何か?
0088nobodyさん2005/07/16(土) 13:47:49ID:???
kimasa!
0089nobodyさん2005/07/16(土) 15:06:06ID:???
>>87
それはまずいだろ
0090nobodyさん2005/07/16(土) 16:46:07ID:???
俺もxreaでテストしてる
0091nobodyさん2005/07/16(土) 17:17:02ID:???
質問させて下さい。
変数付きのURL(http://hoge.com/test.php?id=a&dr=tn)から
変数のidとdrの値を取得したいんですが、
下記のようにやってもうまくいきません。
どなた様かご教示お願いします。(URLは$urlとしています)


$u = parse_url($url);
$query = $u["query"];

$id = $query["id"];
$dr = $query["dr"];

echo "ID:$id";
echo "DR:$dr";
0092nobodyさん2005/07/16(土) 17:24:29ID:???
これじゃ嫌なの?

$id = $_GET['id'];
$dr = $_GET['dr'];
0093nobodyさん2005/07/16(土) 17:44:36ID:???
少々でも他の言語を齧ってると簡単なことを難しく考えがち。
PHPのわかりやすさは拍子抜けするほど。
0094nobodyさん2005/07/16(土) 17:55:11ID:???
resource pg_connect ( string connection_string )
の resource ってセッションに入れたり出したりしても良いのですか?
0095nobodyさん2005/07/16(土) 18:00:12ID:???
>>91
一番最初に $url = 'http://hoge.com/test.php?id=a&dr=tn'; というのがあって、
それをパースしたいってことだろうねぇ。
$query を parse_str() に突っ込めばよいかと。
0096912005/07/16(土) 19:44:32ID:???
>>95
正しくその通りでした〜!

有難うございました。
0097nobodyさん2005/07/18(月) 04:12:38ID:???
>>94
resource 型はすべて保存不可能
0098nobodyさん2005/07/18(月) 15:20:42ID:igP0jwKz
デジカメで撮影した画像ファイル(JPEG)からExif情報を抽出したいのですが
メーカーの仕様によらず、各社共通して

・F値
・シャッター速度
・露出補正
・ISO感度
・焦点距離(35mm換算)
・露出モード
・撮影日時

情報を抽出するにはどういうパラメーターを指定して探索すればいいでしょうか?
0099nobodyさん2005/07/18(月) 17:26:51ID:???
>>98
つ[ttp://jp2.php.net/manual/ja/function.exif-read-data.php]
0100nobodyさん2005/07/18(月) 19:05:50ID:???
特定の数字の文字列(123456)の前半の3文字(123)のみを取得したいんですが、
どの関数を使えば良いでしょうか?教えてください。
0101982005/07/18(月) 19:33:41ID:???
>>99
exif_read_data関数ですね。
私もそれを使おうと思っているのですがsectionsの中が
さらに区分けされているらしく(配列の配列?)、
どのパラメータを指定すればいいのかまでは
分かりませんでした。

配列を表示させてみたこともあるのですが似たような
名前のパラメータが重複して登場してたりして
各社共通のパラメータがどれなのかという情報も
分かりませんでした。
0102nobodyさん2005/07/18(月) 19:58:22ID:???
>>100
substr()
0103nobodyさん2005/07/19(火) 02:57:47ID:???
データベースにファイルを保存するテストをしているんですが、
ブラウザに出力させる時、直接バイナリデータを出力する場合、「echo」でいいのでしょうか?
DL等は普通に出来、ファイルも壊れては居ないんですが、元のファイルとMD5が一致しなくて悩んでいます。
同じデータをファイルに出力した場合、MD5が一致するので、ブラウザに出力した時に
なにか余計なものが混じっているんだと思います。
原因がわかる方いたらご指南ください。
0104nobodyさん2005/07/19(火) 03:03:55ID:???
よーく確認したら、本当に余計なものが混じっていただけでした・・
ごめんなさい!
0105982005/07/19(火) 23:03:38ID:???
Nikonのデジカメ使っているんですが、どうもexifのヘッダー構造が
PHPのexif_read_data()に対応していない気が・・・
読んでる最中にプログラムが固まってそれ以降が表示されなく
なってしまいます。

直接バイトを指定して値を読み込ませないとダメですかね?
0106nobodyさん2005/07/20(水) 11:16:59ID:???
>>100
つ[substr]?
0107982005/07/20(水) 12:37:22ID:???
ちょっと個人的メモをば

ttp://aki.adam.ne.jp/

ここのDezi Boardにexifを読む関数を自作されてる人がいました。
01081002005/07/20(水) 19:43:34ID:???
>>102
>>106
お礼が遅くなりました。
まさしくその関数でした!有難う御座いました
0109質問2005/07/20(水) 22:56:51ID:???
■■■■■■■
■■■■■■■
■■■■■■■
■■□□□□□
■■□□□□□
■■□□□□□
■■□□□□□
■■□□□□□
■■□□□□□
■■■■■■■
■■■■■■■


↑のようなレイアウトのホームページを作りたいと思います。
全体はHTMLで構成されていますが、
□はxxxx.phpで表示します。
□は固定では無く、縦方向に長くなったり短くなったりします。

それを実行しようと □の部分に
<!--#include virtual="xxxx.php" -->
と書いたのですがうまくいきませんでした。

以上の事を実行するにはどのようにしたら良いのでしょうか?


0110nobodyさん2005/07/20(水) 23:03:33ID:???
>109
先にHTMLの勉強して来い
0111nobodyさん2005/07/21(木) 00:58:56ID:zkn/ba81
>>109

「うまくいかなかった」
とはどのようにうまくいかなかったのかを具体的に書かないと何も分からない。
そもそも virtual には対応してるの?
virtual が使えない設定の鯖も結構あるが。
0112nobodyさん2005/07/21(木) 12:48:51ID:2O2ppr6p
現在phpのプログラム(index.php)は下のようになっています。
-------------
<html>
<body>
〜HTML記述〜
<?php
〜phpプログラム(100行くらい)〜
?>
</body>
</html>
-------------

これを、下のように1つはHTML、もう1つはPHPプログラムの2つのプログラムに分けようと思います。
-------------
---(index.php)---
<html>
<body>
〜HTML記述〜
<?php
〜hoge.php読み込み(なるべく短く)〜
?>
</body>
</html>
-------------
---(hoge.php)---
<?php
〜phpプログラム(100行くらい)〜
?>
-------------
〜hoge.php読み込み(なるべく短く)〜の部分にはどのような記述をすればよいでしょうか。
またその際に(hoge.php)を書き換える必要はあるのでしょうか。
0113nobodyさん2005/07/21(木) 13:11:29ID:QJOhteRK
>>112
includeで調べてみ
0114nobodyさん2005/07/21(木) 13:50:36ID:???
>>113
ありがとうございます
01151122005/07/21(木) 15:15:30ID:2O2ppr6p
112です。
<?php include 'hoge.php'; ?>
と書くことでうまくいきました。ありがとうございました。
追加で質問で申し訳ないのですが、112のindex.phpの拡張子をindex.htmlにした場合は、どのようにしたら良いでしょうか?
0116nobodyさん2005/07/21(木) 15:33:38ID:???
>>115
スレ違い。

x-httpd-php
0117nobodyさん2005/07/21(木) 15:39:07ID:???
>>115
単純にhtmlを読み込ませるなら、includeよりもreadfile()がよい。
0118nobodyさん2005/07/21(木) 19:09:40ID:???
>>117
質問をきちんと読もうね。
0119nobodyさん2005/07/21(木) 21:28:12ID:???
>>118
むしゃくしゃしてやった。
今は反省している。
0120nobodyさん2005/07/21(木) 23:57:28ID:OPf2mV1L
PHPを利用したプログラムを2つ教えてください。
�@九九表
�A2次方程式の解 ax2+bx+c=0
0121nobodyさん2005/07/22(金) 00:09:46ID:???
>>120
えーっ!?

for ($i = 1; $i <= 9; $i ++)
{
  for ($j = 1; $j <= 9; $j ++)
    printf("%3d", $i * $j);
  
  echo "\n";
}

$d = $b * $b - 4 * $a * $c;
if ($d == 0)
  echo -$b / (2 * $a), "\n";
else if ($d > 0)
  echo (-$b + sqrt($d)) / (2 * $a), ", ", (-$b - sqrt($d)) / (2 * $a), "\n";
else
  echo "解なし\n";
0122nobodyさん2005/07/22(金) 00:50:13ID:1VklDg1R
ありがとうございました。
0123nobodyさん2005/07/22(金) 00:56:19ID:ubHtE5eN
連想配列で、キーに16進数を使っています。

例) $temp[0x010f] = 1

この配列をechoで表示させようとして

echo "temp[0x010f]";

とやったんですがうまく表示されませんでした。
キーの16進数を10進数に変換すれば

echo "temp[271]";   //10fの10進数表記は271

正常に表示されました。

なんとかキーは16進数のままechoで表示させることはできないでしょうか?
0124nobodyさん2005/07/22(金) 00:57:18ID:1VklDg1R
2次方程式なのですがa b c にそれぞれブラウザ上で数値を入力した上で解を出すようにできませんか?
おねげーします。
0125nobodyさん2005/07/22(金) 01:03:41ID:???
学校の宿題は自分でやってくれ
0126nobodyさん2005/07/22(金) 01:05:41ID:1VklDg1R
そこをなんとか。 むりであればヒントなどをおねがいします。
0127nobodyさん2005/07/22(金) 01:10:58ID:???
>>124 >>126
えーっ!?

<pre>
<form action="<?=$_SERVER['PHP_SELF']?>" method="GET">
a = <input type="text" name="a" value="<?=@$_GET['a']?>">
b = <input type="text" name="b" value="<?=@$_GET['b']?>">
c = <input type="text" name="c" value="<?=@$_GET['c']?>">
<input type="submit" value="OK">
</form>
<?php
  if (isset($_GET['a']) && isset($_GET['b']) && isset($_GET['c']))
  {
    $a = $_GET['a']; $b = $_GET['b']; $c = $_GET['c'];
    $d = $b * $b - 4 * $a * $c;
    
    if ($d == 0)
      echo -$b / (2 * $a), "\n";
    else if ($d > 0)
      echo (-$b + sqrt($d)) / (2 * $a), ", ", (-$b - sqrt($d)) / (2 * $a), "\n";
    else
      echo "解なし\n";
  }
?>
</pre>
01281232005/07/22(金) 01:12:46ID:???
事故解決

echo "{$temp[0x10f]}"

のように{}で囲ったら正常に表示されました。
(´-`).。oO(なんでだろう・・・)
0129nobodyさん2005/07/22(金) 01:17:26ID:1VklDg1R
本当にありがとうございやすM!!!!!
0130nobodyさん2005/07/22(金) 01:18:21ID:???
>>128
マニュアル嫁よ
0131nobodyさん2005/07/22(金) 01:24:26ID:???
>>128
>123だと配列に”$”ついてないからじゃないの?
echo "temp[0x010f]";
echo "temp[271]"; 
01321232005/07/22(金) 01:38:17ID:???
>>131
> >123だと配列に”$”ついてないからじゃないの?

それはここに書き込むときの誤植です( ´∀`)b
0133nobodyさん2005/07/22(金) 01:50:10ID:???
>>132
つか、"は文字列以外イラン
01341312005/07/22(金) 01:55:28ID:???
>>132
言語仕様はわからないけど、>123の書き方($をつけて)だと連想配列とみなされてるみたい。
あと配列自体を引用符で囲まないと期待する値が出力された。

$temp[0x010f] = 1 ;
$temp["0x010f"] = 9 ;

echo "$temp[0x010f]"."\n"; # 9 を出力
echo $temp[0x010f] ."\n"; # 1を出力
0135nobodyさん2005/07/22(金) 02:02:00ID:???
>>134

PHPの配列は全て連想配列ですよ。
で、配列のキーは型(int, stringなど)を区別するので、
0x010fと"0x010f"は別のキーとして扱われます。
これは、$temp[0]と$temp["0"]とかでも同様。
01361232005/07/22(金) 02:02:46ID:???
>>134
それはおそらく16進数、10進数ではなく
ただのリテラルに対する連想配列と見なされるからでしょうね。
0137nobodyさん2005/07/22(金) 02:12:14ID:???
>>135

>PHPの配列は全て連想配列ですよ。
ここは合ってると思うけど、

>で、配列のキーは型(int, stringなど)を区別するので、
>0x010fと"0x010f"は別のキーとして扱われます。
これは、>>136が正解じゃないかな。
0138nobodyさん2005/07/22(金) 13:19:17ID:???
【豆情報】
ttp://ilia.ws/archives/58-Path-Disclosure-and-PHP.html

$_GETをhtmlspecialcharsしている人はご注意を。

Fixされるまでしばらくの間
display_errors = Off
は必須かな?

0139nobodyさん2005/07/22(金) 14:32:19ID:???
>>138
へぇー!そんな問題あったとは気付かなかった ORZ
まあリクエストパラメータのバリデーションには通常issetを使うと思うけど、
script.php?name[]=hoge
を故意にやられてしまうと、文字列を引数にとる関数func($_GET['name'])でwarning吐いて、
そこにスクリプトのパスが表示されちゃうって話でしょ?
issetでのチェックだけでは不十分だからis_stringもやるべしって話でまとめちゃまずい?
まー何にせよ、情報�d。
0140nobodyさん2005/07/22(金) 19:45:19ID:???
>>138
へぇー!英語読めないぜ!
0141nobodyさん2005/07/22(金) 21:52:42ID:???
こんにちは
PHPとフリーDBの勉強をしようと環境を作っているのですが
PHP5からpostgreSQL8にpg_connectで接続しようとすると
エラーになり接続できません
Apacheのエラーファイルを確認すると下記のようなメッセージが出力されています
Selinuxで5432ポートも空けていますし、postgresql.confのlisten_addressも*にしてます
pg_hba.confも問題無い様で、Windowsのpsql,pgAdminからも接続できています。
もちろん、pgsql.iniにてpgsql.soも設定してます
いろいろ調べたんですが、解決策が見つからず困ってます
他にチェックする所があるとか解決事例がありましたら教えてください
よろしくお願いします

記述コマンド
$pg_con=pg_connect( "host=192.168.0.200 dbname=mis-db")

PHP Warning: pg_connect() [<a href='function.pg-connect'>function.pg-connect</a>]:
Unable to connect to PostgreSQL server:
could not connect to server:
Permission denied\n\tIs the server running on host "192.168.0.200"
and accepting\n\tTCP/IP connections on port 5432?

環境:
OS : FedoraCore4
DB : PostgreSQL8.0.3
Script: PHP5.0.4
Web : Apache2.0

0142nobodyさん2005/07/22(金) 23:04:42ID:???
SQLサーバは何処に在るんだゴルァ

と言われてるんでは?
0143nobodyさん2005/07/23(土) 23:42:17ID:6cphWLEe
とりあえずselinuxはオフにした方がいい
0144nobodyさん2005/07/24(日) 00:09:13ID:9XtCkZCE
selinuxをオフにしたテストはしたつもりだったのですが
ミスってたようで、改めて確認してみたら接続できました
selinuxが邪魔してたみたいですね
オンにしてどう設定したら接続出来るかいじってみます
0145nobodyさん2005/07/24(日) 13:54:57ID:???
クッキーの保存内容を少し分かり難くするためにクッキー全体を暗号化したいんですが、
使用中のレンサバでmcryptが使えないようなので、
何か手ごろな可逆暗号化、復号化クラスをご存知ないでしょうか。
あるいはこの用途に使える関数など・・・。

解読されても問題ない内容なので本当に単純な仕組みで構わないです。
0146nobodyさん2005/07/24(日) 14:24:02ID:???
セッションじゃまずいの?
セッション使えば送信されるのはセッションIDだけだし解読もクソもないかと。
いや、クッキーをわかりにくくする必要あるのか疑問だけど、
解読されてもいい(?)ってなら文字列を逆順にするとか・・・
っていうか解読されてもいいのにわかりにくくするの??
0147nobodyさん2005/07/24(日) 14:35:04ID:???
>>145
md5()でいいんじゃないの?
複合できないけど、生成された文字列をキーとして処理したらいいのではないかと。

$key = md5(time());
とかやると、こんな感じの文字列ができる。
763d2c1cc3a1368d05eb0b835b3fcea3

サーバ側に上記の文字列と同じファイル名でファイルを作成して、保存しておきたい内容を保存。
クライアント側には、上記の文字列のみをクッキーに保存。

で、クライアントがアクセスしてきたときに上記の文字列をクッキーから取り出し、
サーバ側に同じファイル名が存在すれば、ファイルを読み込んでデータを取り出す。
0148nobodyさん2005/07/24(日) 14:50:28ID:???
>>146
考えてみるとセッション使うのが一番無難な気がしてきました。
今はセッションを使う代わりにIPとIDを元に暗号化した文字列とIDをクッキーに保存して
認証に使っています・・。
簡単なページではIPとIDのみで照合して、重要なページではDB使って照合を。
IDその他がクッキーにそのまま載るのが何となく気になりだしたので暗号化して
全体を分かり難くできないかと思いこんな質問になりました。

>>147
説明不足ですんません。今使ってるのがその方法と似た感じですね。
0149nobodyさん2005/07/24(日) 21:41:12ID:???
>>138 と >>139 が触れている話題に付いてなのだけれども、これらの問題に
対処するには実際どうすべきなのかしら。

if(!array_key_exists("hoge",$_GET) or !is_string($_GET["hoge"])) die("まともな値をよこせやボケ");
$huga = $_GET["hoge"];

とでもやって、文字列値では無い $_GET["hoge"] を排除すべきか、それとも

if(!array_key_exists("hoge",$_GET)) die("値をセットしろやボケ");
$huga = (string)$_GET["hoge"];

という風に、どんな値が来ても強制的に文字列値としてしまうべきか。誰か、
ヒマなら答えて頂戴。問題が無いなら、後者の方が対処し易そうなのだわ。
0150nobodyさん2005/07/25(月) 01:16:06ID:???
>149
>138の一番の問題は不正なリクエストをされた際に、エラーが起こる事によって、
エラーメッセージでシステムパスがばれる事にある。
よって、display_errors = Off が現時点でもっとも確実な且つ有効な対処法。

自分が意図しない不正なリクエストにまできちんと処理を返す必要はないと考える。
(自分のボケで不正リクエストになるような場合は首を括る)
01511492005/07/25(月) 04:01:18ID:???
>>150
レスありがと。

>自分が意図しない不正なリクエストにまできちんと処理を返す必要はないと考える。
>(自分のボケで不正リクエストになるような場合は首を括る)

これを読んで、少し気が楽になれたのだわ。そういえば今までは「きちんと処理
を返す」事以外は意識もしなかったわ。あまり厳密にし過ぎる事も無いのかしら。

でも、ごめんなさい。スルーされたかと思って、もう既に対象スクリプトの
修正対象箇所は全て !is_string 判定を追加しちゃった後なのだわ。もう少し
早く、レスに気付くべきだったわ。

ああ。。もうすぐ cron.daily の時間ね。この辺で失礼するのだわ。
0152nobodyさん2005/07/25(月) 13:16:43ID:???
PHP5ってなにか不具合ある?
0153nobodyさん2005/07/25(月) 14:15:47ID:???
存在が不具合
0154nobodyさん2005/07/25(月) 15:47:31ID:???
不具合のないプログラムってある?
0155IEXPLORE.EXE2005/07/25(月) 16:31:13ID:???
呼んだ?
0156nobodyさん2005/07/25(月) 16:43:32ID:???
呼んでねぇのに勝手に立ち上がってくんな。氏ね>>155
0157nobodyさん2005/07/25(月) 19:11:15ID:???
あーまたExplorer.exeが落ちた
デスクトップが青一色だ
0158nobodyさん2005/07/25(月) 19:30:32ID:???
>>157
夏だな
0159nobodyさん2005/07/25(月) 22:33:16ID:???
そいじゃWindowsにアパッチと一緒にPHP5(binary)を入れようかと思うんだけどいい?
0160nobodyさん2005/07/25(月) 23:39:14ID:???
>>154
Hello World

>>159
勝手にドウゾ。
0161nobodyさん2005/07/26(火) 19:55:31ID:???
windows上のPHP 4.3.11で、
ネットワークドライブ上のファイルを開くのに失敗してしまうのですが、
解決策しりませんか?

これ
ns1.php.gr.jp/pipermail/php-users/2002-February/005175.html
とおなじ問題っぽいですが、解決策が見つかりません。

<?php
// ローカルドライブOK。
fopen( "E:\\test.php","r" );

// ネットワークドライブ、ダメ。
fopen( "T:\\test.php","r" );
?>



Warning: fopen(T:\test.php): failed to open stream: No such file or directory
01621612005/07/26(火) 19:56:19ID:mQBqjAPV
ageわすれ
0163nobodyさん2005/07/27(水) 11:17:28ID:???
そのまえにお前さん、なんでPHP5を導入しないんだ?
0164nobodyさん2005/07/27(水) 11:48:38ID:???
>>163
Zend社員必死だなwwwwwwwwwwwww
そりゃ池沼社員には分からないだろうなぁ(禿藁
0165nobodyさん2005/07/27(水) 16:57:12ID:???
>>164
本体Zendもバカにしてるみたいで感じ悪いからせめてJapanをつけろ。
0166nobodyさん2005/07/28(木) 11:25:58ID:???
質問させてください。

if($hoge)とif(isset($hoge))はどちらとも同じ動きをしますが、
どちらを使った方がよいのでしょうか?
0167nobodyさん2005/07/28(木) 11:28:54ID:???
(・ε・)ハァ?
0168nobodyさん2005/07/28(木) 11:31:54ID:???
$a = '';
if(isset($a)) echo 'isset';
if($a) echo 'boolean';
ナイス・ジョーク!!HAHAHA
0169nobodyさん2005/07/28(木) 11:33:24ID:???
>>166
前者だと未定義のときNOTICEでるぞ
0170nobodyさん2005/07/28(木) 12:29:35ID:???
if($a){
$a = $b
}
if($a) $a = $b

上記のように{}で囲まないのと囲むのでは何か違いが有るんですか?
0171nobodyさん2005/07/28(木) 13:06:53ID:3SB2huz6
夏だねぇ
0172nobodyさん2005/07/28(木) 13:07:09ID:???
>>170
単文だと不要。複文だと必要。例文はただし「;」(セミコロン)忘れてるからエラー
0173nobodyさん2005/07/28(木) 13:42:08ID:???
>>172
有り難う御座いました。
今まで単文にも付けていたので外しておきます
0174nobodyさん2005/07/28(木) 13:52:11ID:???
>>173
別に単文に付けていても問題はないんで、わざわざ外すことはないんだけど。
この辺りは宗教論争になっちゃうので、どちらがいいとは言えないんだが、
ifの中にデバッグ目的でecho等を挿入するときに便利なので、単文でも
付けるようにしている。
■ このスレッドは過去ログ倉庫に格納されています