トップページ⇒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

0039312005/07/13(水) 18:21:45ID:Nyo2L72X
>>31です。

やってみました。
-------------------------------------------------------
$rs = mysql_query("SELECT * FROM hoge");
while( $rec = mysql_fetch_array($rs, MYSQL_ASSOC)){
 print $rec{'項目名'};
}
 ↓
$rs = mysql_query("SELECT * FROM hoge");
$rec = array(mysql_fetch_assoc($rs));

// 1個目
$nCnt = 0;
while($nCnt < 10){
 print $rec[$nCnt]{'項目名'};
 $nCnt++;
}

// 2個目
$nCnt = 0;
while($rec){
 print $rec[$nCnt]{'項目名'};
 print $rec[$nCnt]{'項目名'};
}
-------------------------------------------------------
とりあえず、1個目のみ表示させようと思ったのですが、配列1番目のデータしか表示されません。
$nCntを表示させてみたのですが、ループはきちんとしているようです。
多分、ループ前の部分がおかしいとは思うのですが…。そもそもarrayの使い方あってるのでしょうか?
0040nobodyさん2005/07/13(水) 18:45:43ID:???
>>39
$rs = mysql_query("SELECT * FROM hoge");
$rec = array();
$nCnt = 0;
while( $rec[$nCnt] = mysql_fetch_array($rs, MYSQL_ASSOC)){
?print $rec[$nCnt]['項目名'];
}
$nCnt = 0;
while(isset($rec[$nCnt])){
?print $rec[$nCnt]['項目名'];
}

こういうことじゃ?
0041nobodyさん2005/07/13(水) 18:46:57ID:???
>>40
あぅ、whileループ内で$nCntをインクリメントするの忘れてた。
入れといて。
0042nobodyさん2005/07/13(水) 18:55:25ID:???
ファイルアップロードがうまくいかないです。
状況としてはアップロードした結果
$_FILES['XXX']['name'] : クライアントのファイル名
$_FILES['XXX']['type'] : null
$_FILES['XXX']['size'] : 0
$_FILES['XXX']['tmp_name'] : null
$_FILES['XXX']['error'] : 6
となるのですが・・・

神さま何か考えられる原因を教えてください。
Linux+Apache2.0.54+PHP5.0.6(mod_php)
0043nobodyさん2005/07/13(水) 19:08:28ID:???
php.ini 確認しる
0044nobodyさん2005/07/13(水) 20:55:10ID:???
php.s3.toの中の人はねらー?
0045nobodyさん2005/07/13(水) 21:33:19ID:???
>>43
なるほどupload_tmp_dirの設定が必要なのですね。

ありがとう神さま
0046nobodyさん2005/07/14(木) 03:42:33ID:???
>>44
いまどきネラーじゃない方が珍しいと思うが

2ch以外で2ch的用語使いまくる奴は痛い。
0047nobodyさん2005/07/14(木) 06:53:29ID:???
>>41
while( $rec[] = mysql_fetch_array($rs, MYSQL_ASSOC)){
これでキーが自動的にインクリされる
0048nobodyさん2005/07/14(木) 12:46:26ID:SdE/T/Mc
fedora core 3
php 5.0.4
zlib-1.2.1.2-2.fc3

./configure で --with-zlib-dir=/usr/lib/

libz が見つからないとおこられます。

$ which libz
/usr/lib/libz.so.1
/usr/lib/libz.so.1.2.1.2

php4のインストール時にはでないのですが、どうすればいいんでしょうか?
0049nobodyさん2005/07/14(木) 13:00:36ID:???
>>48
俺の勘がzlib-develだと囁いてる。
確認はしてない。
0050nobodyさん2005/07/14(木) 13:23:00ID:???
>>48
--with-zlib-dir=/usr
はどうだろう
0051502005/07/14(木) 13:25:04ID:???
/usr/lib/libz.so
が無いじゃないか
ということで>>49に同意
0052nobodyさん2005/07/14(木) 13:46:38ID:SdE/T/Mc
>>49-51
ありがとうございます。
解決しました。

だめだったとき
zlib-devel 入れて
--with-zlib はずして
--with-zlib-dir=/usr/lib/libz
で解決しました。

ひっかかっていたのは ZLIBサポートなしで GDのpngサポートをやりたかったのですが、
--with-zlibはつけずに通りました。
005348=522005/07/14(木) 13:49:33ID:???
>>52 の最後の2行は勘違いして書いてしまったので、おきになさらずに・・・
0054nobodyさん2005/07/14(木) 13:52:45ID:???
そもそもpngってzlibなしで読み書きできるの?
zlibフォーマットで圧縮する画像形式だと思ってたけど。
0055nobodyさん2005/07/14(木) 14:15:44ID:j5wQR+Yd
メールの添付ファイル名を取得するIMAP関数教えてください。
imap_fetchbodyでデータは取得できるのですが、ファイル名もしくは拡張子がわからないとコピーできなくて困っています。
0056312005/07/14(木) 14:30:26ID:???
出来ました!
表示件数を指定したい時は、for文もしくはwhile内でIf文なんですよね?
今はfor文でやってます。

PHP+MySQLは初めてなのですが、
ネットで調べても中々いいサイトがないです。(本家が一番?)
困ったらここで聞けばいいなんて甘えが出てきそうなので、
何かおすすめの本があったら教えてください
m(__)m
005748=52=532005/07/14(木) 17:14:23ID:???
>>54
zlib有効にするのと、GDのpngでlibz使うのとは別物かと思っとりました。
( configure で --with-zlibつけずにやると zlib support = no みたいに出てきたようなので)
んでも いま phpinfo見ると 確かに zlibも有効になってました。

./configure がなんなのか意味もよくわかってなかったりすんですが(;・∀・)
また勉強しときます
0058nobodyさん2005/07/14(木) 19:29:17ID:???
$_GET['get']で済むところを
$_REQUEST['get']で書いているのだけど
何か不都合ある?
0059nobodyさん2005/07/14(木) 19:33:57ID:???
>>58
悪意のあるなしに関わらず、
クライアントが送ってきた Cookie などに
上書きされる可能性があるため
$_GET を使えばいらなかった心配をするハメになって確認の処理が面倒。
あまりスマートとは思わんな。
0060nobodyさん2005/07/14(木) 20:39:43ID:???
>>59
�dクス

呼び出し元ページでPOSTにしたいときに楽かなー、とか思ったが
果たしてそんなケースがあるのか疑問になってきた
そもそも何のためにあるんだろ>$_REQUEST
0061nobodyさん2005/07/14(木) 21:04:55ID:SdE/T/Mc
zend optimizer って効果あるんでしょうか?
ぐぐっても 早くなると書いてあるくらいで、
短所などが書かれてなくて逆に不安なんですが
使うことでマイナスになる点ってありますか?
0062nobodyさん2005/07/15(金) 00:29:12ID:???
>>59
別に$_REQUESTでも問題がないと思うんだけど。
必ず、受け取ったパラメータの値に不正なデータが入っていないかチェックしていれば。
0063312005/07/15(金) 01:55:51ID:OBw0hLoz
すみません、質問させてください。

今までの応用だと思うのですが、

$rs = mysql_query("SELECT * FROM hoge");
$rec = array();
for($nCnt=0; $nCnt<$pageCnt; $nCnt++ ){
$rec[$nCnt] = mysql_fetch_array($rs, MYSQL_ASSOC);
print $rec[$nCnt]['項目名'];
}

とし、$page_Cnt=10で、10件表示にさせました。
10件以上ある場合は、次ページへ移動させるのですが、
その場合は、配列を10番目〜19番目で表示させようと思ったのですが、うまく行きません。

上のプログラムを少し変更し、次ページに行った時には
$nCntは、10〜19と増えていくことを確認しました。
でも、表示されるデータは0〜9番目のデータを、
1ページ目と何も変わらないのです。

どうすれば、次ページには途中からの配列のデータを表示できるのでしょうか。
0064nobodyさん2005/07/15(金) 06:30:32ID:???
>>31
そろそろくだ質いけや。
もしくはどっかで金原って講習受けろ
0065nobodyさん2005/07/15(金) 06:55:03ID:???
>>63
$rs = mysql_query("SELECT * FROM hoge");
$rec = array();
while($rec[] = mysql_fetch_array($rs, MYSQL_ASSOC)) ;
for($nCnt=0; $nCnt<$pageCnt; $nCnt++ ){
print $rec[$nCnt]['項目名'];
}

$start = 10;
$pageCnt= 10;
$rs = mysql_query("SELECT * FROM hoge");
mysql_data_seek($rs, $start);
$rec = array();
for($nCnt=$start; $nCnt<$start+$pageCnt; $nCnt++ ){
$rec[$nCnt] = mysql_fetch_array($rs, MYSQL_ASSOC);
print $rec[$nCnt]['項目名'];
}
0066nobodyさん2005/07/15(金) 11:51:15ID:???
>>62
初歩的な質問ですみませんが、$_REQUESTの不正なデータっていうのは具体的にどういうデータの事なんでしょうか?
POSTやGETでも、HTMLタグや\や"などを処理しますが、それとは別に$_REQUESTで送られてくる特有の不正なデータがあるんでしょうか?
0067nobodyさん2005/07/15(金) 11:51:54ID:???
↑ちなみに、>>58-58とは別人です。
0068nobodyさん2005/07/15(金) 12:10:19ID:???
>>66
$_REQUEST['get']には$_GET['get'] $_POST['get'] $_COOKIE['get'] ($_FILE['get'] PHP4.3未満)
のどれで上書きされてるかわからなくなるなる可能性がない事もないということやろ
0069nobodyさん2005/07/15(金) 12:13:31ID:???
>>66
どんな値が送られてきても問題が起きないようにコーディングしてりゃ大丈夫ってこと
0070nobodyさん2005/07/15(金) 12:55:17ID:???
なるほど、そういうことですね。
では、「mode=nantoka(処理分岐用のパラメータ)」みたいに、GETでもPOSTでもどっでも良い場合は、$_REQUESTった方がいいのかにゃ?
0071nobodyさん2005/07/15(金) 13:03:54ID:NQKXwLdK
>>70

全然、分かってないだろ。
0072nobodyさん2005/07/15(金) 13:33:01ID:???
お菓子が混ざってるから知らないところで意図していないパラメータが送られてくる可能性がないともいえない
0073nobodyさん2005/07/15(金) 13:40:22ID:???
GPC見分ける必要が無いのなら、_REQUESTでいいんじゃない。
cookieに上書きされて気づかずにハマっていても自己責任だし。

俺も、_REQUEST使ってOKと判断したら、結構使っているし。
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
は必須かな?

■ このスレッドは過去ログ倉庫に格納されています