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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/08/07(月) 13:11:50ID:???
PHPに関するくだらねぇ質問用スレです。ここならお前の下らない質問に回答があるかも知れません。

まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレは>>2-10 関連スレは>>4-10 FAQは>>6-10 辺り

◆質問する場合の注意
1. 自分のIDを表示させること。(メール欄に何も記述しないでください)
2. サーバーのOS、WebサーバーとPHPの種類やバージョン等を明記すること。
3. 己の行った操作、変更などを詳しく明記すること。
4. エラーメッセージはそのまま表記すること。「エラーが出ます」では絶対分かりません。
5. 質問者としても態度をわきまえること。
6. 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・オブジェクト指向については良スレがないから本を買え。理解できないならムリに使うな。
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
0176nobodyさん2006/08/09(水) 23:27:13ID:???
すいません、間違って?PHP part2スレで書き込んでしまったので、
もう一度こちらに書き込みさせていただきます。(マルチになって申し訳ありません)

399 名前:デフォルトの名無しさん[sage] 投稿日:2006/08/09(水) 23:17:17
こんなことを質問できる場がここしかないので、どうかご教授願いたいです。

実験でHTMLのテキストフィールドから直接SQL文を入力させてDB(MySQL)を操作したいんですが、、

例えばHTMLの入力フォームから
select * from [テーブル名] where ID='06A00012'
などと入力すると、phpで受け取った値は
select * from [テーブル名] where ID=\'06A00012\'
となってしまい、SQL文に余計なものがついてSQLの構文エラーとなってしまいます。

phpのstrtr関数で文字を置き換えようとしても上手くいきません。
(\をなんとか消しても、今度は "(ダブルコーテーション)に置き換わってしまいます。)

どなたか、¥の消し方をご存知の方がいましたら、お願いします。。。
0177nobodyさん2006/08/09(水) 23:35:09ID:???
>>176
マジッククォートについてぐぐれ
01781762006/08/09(水) 23:41:17ID:???
あ!!こ、これかもしれません、ちょっと調べてやってみます!涙
01791092006/08/09(水) 23:53:52ID:XkNwEDtZ
>>175
なるほど。。
ありがとうございます。
01801762006/08/10(木) 00:18:11ID:???
$inpo=get_magic_quotes_gps();
if($inpo==1){
$okki = stripslashes ($inpo);
}
print $okki. "マンセー";


↓こんなスマートなやりかたもありました。
if (get_magic_quotes_gps()){
 $comment = stripslashes ($comment);
}

本当にありがとうございました。
0181nobodyさん2006/08/10(木) 00:20:57ID:???
$inpo=get_magic_quotes_gps();

gpc()←訂正

まだまだ、先は長そうだ。
0182nobodyさん2006/08/10(木) 00:32:47ID:9+xl79/r
php5で、ローカル側(自分が使っているPC)のファイルやディレクトリを
ブラウザで表示したいんですけど、それが載っているサイトや
書籍ってありますか?例えば、ffftpの左半面のようなものを
イメージしています。用途が幅広いので、どこかに公開されている
と思うのですが・・・。どなたか、お教え下さい。
0183nobodyさん2006/08/10(木) 00:37:23ID:???
>>182
出来ない。PHP で何が出来るかを良く考えましょう。
0184nobodyさん2006/08/10(木) 01:18:40ID:???
>>183
いや、出来るんじゃないか?
まぁ、その表示したものを消したりとかってなると無理な部分があまりにも多い
だろうけど。
見るだけならある程度できそう
0185nobodyさん2006/08/10(木) 01:22:54ID:???
>>184
表示がどうこう以前の問題。
0186nobodyさん2006/08/10(木) 01:22:58ID:???
>>184
file:// でってこと? PHP 全然関係ないし。
0187nobodyさん2006/08/10(木) 01:29:43ID:???
普通にファイル一覧とって繰るじゃん?で、それにイメージくっ付けるってのは
できるんじゃないか?
0188nobodyさん2006/08/10(木) 01:34:04ID:???
182を良く読んで。
Client側のファイル一覧どうやって取るんだってことだよ。
0189nobodyさん2006/08/10(木) 01:35:13ID:???
localhostで動かす場合の話じゃね
0190nobodyさん2006/08/10(木) 01:40:36ID:???
>>188
おもいっきり自分の(ローカルホスト)って書いとるじゃないか
0191nobodyさん2006/08/10(木) 01:48:26ID:DcRBPcvM
説明不足で、申し訳ない。
サーバ側から、クライアント側のディレクトリ構造を・・・という話です。
phpで、サーバにクライアントのファイルをアップロードするシステムが
あるくらいだから、何とかできないものかと思ったのですが・・・。
0192nobodyさん2006/08/10(木) 01:52:12ID:???
>>191
PHP はサーバサイドで動くもの。知ってた?
0193nobodyさん2006/08/10(木) 02:04:48ID:???
>>191
そうなっちゃうとPHPだけじゃ無理だな〜
でも、その着眼点は良いんじゃない?今PHPでは実現不可能って分かったんだから
じゃあ、ほかの言語で代用しちゃえってなもんだ。
今ならpythonが熱いぞ!PHPみたいなスクリプト言語だがデスクトップアプリも作れる。
下手したらVBよりも簡単だしな
0194nobodyさん2006/08/10(木) 02:07:12ID:???
>>191
ファイルのアップロードはブラウザの機能。
しかもHTMLレベルじゃセキュリティ上アップロードはかなり制限されてる。
クライアントサイドでActiveX走らすとかそういった手しか無いだろうね。一言で言うと>>183
0195nobodyさん2006/08/10(木) 02:08:31ID:???
>>191
クライアントがサーバなら出来るなw
お前のサーバからクライアント(サーバ)にリクエスト投げて、クライアントが
PHPとかでデータを取得してXMLなりなんなりでお前のサーバに結果を返す。
で、お前側サーバでそれをCSSで綺麗に整えれ幸せになれます。
0196nobodyさん2006/08/10(木) 02:11:46ID:???
>>191
無い。
アップロードはブラウザにファイルから送信データを生成させる仕組みが規定されてるが、
セキュリティ的に危険なためそれ以上のクライアントファイル操作は全て禁止が原則。
クライアント上で動くJavaScriptでも基本的にはクライアントのファイルには触れない。

回避手段があるとすればActiveXを使う手だろうね。パソコン側に半自動でプログラムを
ダウンロード・インストールさせ、それを実行するような仕組みが必要。PHPだけではどうしようもない。
ActiveXならがんばりゃオンラインウイルススキャンなんて仕組みも作れるのでかなり色々できる。
ただし、WEBの標準的な機能ではなくWindowsの機能を利用する形になるため、
使えるOSとブラウザが著しく制限される。
また、セキュリティ的に非常に危険な仕組みなので、クライアントの設定によっては拒否される。
0197nobodyさん2006/08/10(木) 09:00:08ID:???
PHPでウェブアプリを作ろうと思ってるんですが
smartyというものは使った方がいいんでしょうか?
PHPやってるならsmartyくらいは使えないとって感じなら勉強するつもりなんですが
そうでもないなら回避しようかなと思ってるんですが
0198nobodyさん2006/08/10(木) 09:28:53ID:???
>>197
とりあえず不要。
やってくうちに必要性を感じたなら、それから導入すればいい。
0199nobodyさん2006/08/10(木) 09:38:53ID:???
>>197
Smartyみたいな汎用志向のテンプレート機能は
デザイナーとプログラマーが分業してる場合など
多人数で開発する際に大きな効果を発揮する。

逆に言うと、個人でやってる分には意義を見出しにくいものでもある。
(規模が大きくなってきたり、同じプログラムでデザインの差し替えを
多用するようになったりすると便利さを感じる場面も出てくると思うけど)
ってことで、とりあえずは無くてもいいものだと思う。
今後、プロになりたいと思ってるならスキルの1つとして覚えといてもいいけど。
0200nobodyさん2006/08/10(木) 10:18:56ID:???
便乗して質問ですが、
PerlのHTML::Templateのような、単純なテンプレートを知りませんか?
Smartyほどの機能は不要なのですが。
0201nobodyさん2006/08/10(木) 10:33:24ID:???
>>200
簡単なテンプレなら自作が一番。
デザイン済みのHTMLソースに変数をはめこんで、
それをヒアドキュメントにして拡張子.phpにしてincludeすればいい。
0202nobodyさん2006/08/10(木) 10:56:33ID:???
>>198,199
回答サンクスです。
個人で好きにやってるだけなのでやめときます。
0203nobodyさん2006/08/10(木) 11:00:42ID:???
>>201
いくら単純と言っても、ループブロックくらいは扱えないと使い物にならない気がする。
0204nobodyさん2006/08/10(木) 11:08:20ID:ftKUYt4P
MySQLの質問スレってないんでしょうか?
見つからないので多目に見てください。

MySQLのフイールド「unko」に
こんなのが入ってるとします(1行を1レコードとしてください)
1_123
10_376
4_432
11_543
5_982

これを
1_123
4_432
5_982
10_376
11_543
のようにソートしたいのですが

order by unko
だと、
1_123
10_376
11_543
4_432
5_982
となってしまいます。

設計から見直せと言われそうですが、なにかいい方法はありませんか?
0205nobodyさん2006/08/10(木) 11:11:17ID:???
>>204
スレ違い
0206nobodyさん2006/08/10(木) 11:13:59ID:???
イヤ、板違いだろ
0207nobodyさん2006/08/10(木) 11:17:29ID:???
>>204
>>1
> ・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0208nobodyさん2006/08/10(木) 11:27:55ID:???
order by convert(substring(unko, 1, instr(unko, '_')), signed)
0209nobodyさん2006/08/10(木) 11:56:07ID:Zt0pUlM3
>>205-207
スレ違い以前に板違いでしたか、すいませんでした。

>>208
どうもです、完璧ですた。
助かりました。
0210nobodyさん2006/08/10(木) 12:10:55ID:???
みなさんアレですか、やっぱりAssemblerやC/C++からプログラミングを始めて、業務上必要になった為PHPを覚えたって感じですか?
いや、なんかスレの内容が随分レベル高いなぁーっと思いまして。

それと質問なんですが、ECサイトの構築を覚えたいとずっと考えていまして、言語はPHPに決めました。
PHPと組み合わせるDBで特に易しいもの等はあるんでしょうか?
どれでも一緒ならPHP+MySQLで勉強を始めようと思っています。
0211nobodyさん2006/08/10(木) 12:19:25ID:???
>>210
> いや、なんかスレの内容が随分レベル高いなぁーっと思いまして。
いや…ちょー低いだろ…_| ̄|○

> PHPと組み合わせるDBで特に易しいもの等はあるんでしょうか?
MySQLは特に易しいよ。機能少なめでかつ高速で。あんまり悩む必要がない。
0212nobodyさん2006/08/10(木) 12:33:05ID:83OIGtyl
mb_send_mailをの送り先をドコモの携帯にしてフォームを送信しました。
すると、本文の最初に
mime-version:1.0
content-type:text/plane;carset-ISO-2022-jp
content-transfer-encoding: 7bit
という文字列が付加されました。

これを取り除くにはどうしたらいいでしょうか?
$to = 携帯のアドレス
$subject = "タイトルです。";
$msg = "内容内容内容";
$header = "From: PCのアドレス";
みたいな感じになっています。上の文字列は内容内容内容の前に付いてしまいます。
携帯はdocomoでしか確認していませんが、mova、fomaとも同じ結果です。
0213nobodyさん2006/08/10(木) 12:37:32ID:???
>>212
関数へ渡してる部分も含めてもう少し全体を見せれ。
多分、どっかに余分な改行がある。
メールのヘッダーと本文は1行の空行で区切られてるが、
ヘッダーの途中に空行が余分に入ったことでヘッダー後半が
本文扱いになってしまってるわけだ。
0214nobodyさん2006/08/10(木) 12:38:11ID:???
最近classを勉強しています。
ソース中によくreturn文を使っているのを見るのですが、
どういうときに使っているのか、何をしているのかがよく理解できません。
マニュアルを見てもいまいちピンとこないのですが、
これはPHPを学ぶ上で必須となるものでしょうか?
0215nobodyさん2006/08/10(木) 12:46:16ID:???
PHPに限らず多くの言語の基本中の基本事項です
クラス以前の問題
0216nobodyさん2006/08/10(木) 12:49:53ID:???
>>214
オブジェクト指向学ぶ前に言語構文覚えれ
0217nobodyさん2006/08/10(木) 12:53:27ID:???
>>214
絶対必須。
それ覚えるまでクラスなんていじるな。
0218nobodyさん2006/08/10(木) 12:56:06ID:???
>>214
classの前にまずfunctionを覚えましょう
0219nobodyさん2006/08/10(木) 13:04:06ID:83OIGtyl
>212さん
レスありがとうございます。
試しに必要な部分だけ抜き出して実行してみましたが、結果は同じです。

<?php
mb_language("ja");
mb_internal_encoding("SJIS");
$to = "携帯のアドレス";
$from = "PCのアドレス";
$subject = "お問い合わせがありました。\n";
$header  = $from."\n";
$msg = $header."さんからお問い合わせがありました。";
mb_send_mail($to, $subject, $msg, $header);
?>

どうでしょうか?
0220nobodyさん2006/08/10(木) 13:05:03ID:???
POSTで送ったURLの内容を表示させると文字化けする。
文字コードをEUCにすると他の文字が文字化けする。
どうすればいいの?
0221nobodyさん2006/08/10(木) 13:07:07ID:???
>>220
文字コード統一しろよ
0222nobodyさん2006/08/10(木) 13:10:35ID:oKJYDnYF
>>221
どうやって?
0223nobodyさん2006/08/10(木) 13:15:11ID:???
>>219
mb_internal_encoding("SJIS");
これがまずいんじゃない?
たしか内部エンコードSJISは使えなかったはず。
UTF-8かEUC-JPでやるとうまくいくと思う。
02242142006/08/10(木) 13:16:33ID:???
>>215-218
厳しいご意見ありがとうございます。
頑張って理解できるように勉強してまいります。
0225nobodyさん2006/08/10(木) 13:21:15ID:???
リファレンスマニュアルには次のように書いてある

PHPで動作しないと思われる文字エンコーディングの例を以下に示します。
JIS, SJIS, ISO-2022-JP, BIG-5
これらのエンコーディングで書かれたPHPスクリプトは、 特に符号化された文字列がスクリプトで記述子やリテラルに使用される場合には、 動作しない可能性がありますが、
入力されるHTTPクエリに関して mbstringの透過的なエンコーディングフィルタを 設定することでこれらのエンコーディングをほとんど使用しないようにすることが できます。

SJIS使いたければ、内部エンコードUTF-8とかにして出力時に自動変換がお勧め
0226nobodyさん2006/08/10(木) 13:27:35ID:???
>>222

-------- .htaccess --------
php_flag output_buffering On
php_value output_handler mb_output_handler
php_value default_charset UTF-8
php_flag mbstring.encoding_translation Off
php_value mbstring.http_input auto
php_value mbstring.http_input UTF-8,SJIS,EUC-JP,JIS,ASCII
php_value mbstring.substitute_character none
php_value mbstring.internal_encoding UTF-8
php_value mbstring.http_output UTF-8
php_value mbstring.language Japanese
---------------------------
出力をSJISにしたいときは
php_value mbstring.http_output SJIS
とする
0227nobodyさん2006/08/10(木) 13:33:18ID:???
>>219
> $subject = "お問い合わせがありました。\n";
の."\n"を外せ。
「改行コードが余分だ」と言ったのに何を聞いてたんだ。
ttp://www.php.net/manual/ja/function.mail.php
> subject
> 送信するメールの表題。
> 注意
> 改行を含んではいけません。含めてしまうとメールが正しく送信できません。
0228nobodyさん2006/08/10(木) 13:37:33ID:???
>>227
ほんっとにアホだよな
0229nobodyさん2006/08/10(木) 14:15:48ID:83OIGtyl
>223,225,227さん
レスありがとうございます。

教えて頂いた内容を試しましたが、だめっぽいですorz
mb_internal_encoding("UTF8");としてみましたが、
あいかわらずヘッダー情報のようなものは出力されます。

\nはあまり関係が無いようでした。
以下のようエンコードをUTFにして各変数の中身を空っぽにして
送信したところ、そのいらないヘッダー情報だけが本文として送られてきてしましました。

<?php
mb_language("ja");
mb_internal_encoding("UTF8");
$to = "携帯のアドレス";
$from = "PCのアドレス";
$subject = "";
$header  = "";
$msg = $header."";
mb_send_mail($to, $subject, $msg, $header);
?>

上から2行のmb関数の行を削除して送信してみたら、
mime-version:1.0
content-type:text/plane;carset=utf8
content-transfer-encoding: base64
これの最後の行がbace64になったという以外、大きな変化はありませんでした。
0230nobodyさん2006/08/10(木) 14:16:46ID:83OIGtyl
$msg = ""; です。すみません。
0231nobodyさん2006/08/10(木) 14:25:41ID:???
認証の関係でサブスクライバIDを取得したいのですがuser_agentでは取得できませんでした(当然といわれれば当然ですが)
どのような関数で取得できるでしょうか?
下らない質問で申し訳ありませんがお願い致します
0232nobodyさん2006/08/10(木) 14:26:53ID:83OIGtyl
みなさんすみません。こんなのを見つけてしまいました.....orz

ttp://blog.itoy.jp/archives/20050108_0133.php

本家のURLは移動したっぽくて確認できませんでしたが、ドコモ的な仕様っぽいです。どうにもならないでしょうか?
0233nobodyさん2006/08/10(木) 14:28:34ID:???
>>229

<?php
mb_language("ja");
mb_internal_encoding("UTF8");
$to = "hogehoge@hoge.hoge";
$from = "hogehogehoge@hoge.hoge";
$subject = "てすとサブジェクト";
$header = "From: " . $from;
$msg = "本文";
mb_send_mail($to, $subject, $msg, $header);
?>
0234nobodyさん2006/08/10(木) 14:37:03ID:83OIGtyl
>233
ありがとうございます。
ドコモ以外のキャリアをお使いですか?

ttp://www.nttdocomo.co.jp/info/spam_mail/if/index06.html
オフィシャルな情報をみつけました。

携帯に通知するようなサービスは結構あると思うのですが、どうやってやっているのでしょうか。
0235nobodyさん2006/08/10(木) 14:53:19ID:???
>>231
そんな限定された機能の関数はない
0236nobodyさん2006/08/10(木) 15:02:26ID:???
>>235
あるよはげ
$_SERVER['HTTP_X_UP_SUBNO']
0237nobodyさん2006/08/10(木) 15:30:32ID:???
>>231
サブスクライバIDって書いていることはAU限定だろうから
>>236 の方法か getenv() を使えばいいよ
0238nobodyさん2006/08/10(木) 15:37:30ID:???
つうか、サブスクライバIDって単語がわかっているのなら、それで検索かけたら
山ほど例が出そうな気がするが
0239nobodyさん2006/08/10(木) 15:47:02ID:???
>>236
まあ、それは「関数」とは呼ばないね

0240hage2006/08/10(木) 15:47:18ID:GpwygKMQ
すみません。文字コード変換で、euc の"'" を utf-8の"'"に変換したいのですが、
どうしても"''"になってしまう。回避法ご存知のかたいらっしゃいます?
$apo = mb_convert_encoding("'",'UTF-8','EUC-JP');
0241nobodyさん2006/08/10(木) 16:39:02ID:???
>>240
松田さん、手元の環境では再現できませんでした。
0242nobodyさん2006/08/10(木) 16:45:07ID:???
>>240
よく知らないんだが英数記号はどの文字コードでも一緒じゃないの
0243nobodyさん2006/08/10(木) 16:45:42ID:???
>>240
松田さん、こんにちは。
こちらの環境(php4.4.2)でも確認できませんでした。
そもそも、半角の ' に文字コードが関連するとも思えませんし。
0244nobodyさん2006/08/10(木) 16:54:41ID:kXNrpO55
PHPを使ってモバイルサイトから
HTMLファイルを取得したいと思います。

ソケットオープン

ヘッダー送信

データ受信

という流れになるんですが、
その際に、
ユーザーエージェントを携帯端末にしたいと思います。
たぶんheaderで指定する必要があるんだと思うんですが、
誰かサンプルソース持ってないでしょうか?
0245nobodyさん2006/08/10(木) 17:11:12ID:???
ini_set('user_agent', $user_agent);
0246hage2006/08/10(木) 17:13:02ID:GpwygKMQ
>>241,242,243
どうも、すみません。私の勘違いでした。前処理で、余計なことしてて
気づかなく、ハマッました^^;

0247nobodyさん2006/08/10(木) 17:17:46ID:???
>>244
php の公式にサンプルがあるよ

http://jp2.php.net/manual/ja/function.fsockopen.php
0248nobodyさん2006/08/10(木) 17:21:56ID:???
松田・・・・かわいそうな子!
0249nobodyさん2006/08/10(木) 17:31:33ID:???
ちゃんとphp-usersでも解決報告したのはえらいぞ。松田。マルチの鑑だね。
0250nobodyさん2006/08/10(木) 22:05:54ID:???
http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/interact/forms.html#checkbox

上記のページ(W3C勧告私的日本語訳)で、「1つのフォームで複数のチェックボックスが同じコントロール名を共有してよい。こうしたチェックボックスは、例えば、ユーザが1つのプロパティについて複数の値を選ぶことを許容する。」とありますが、
例えば以下のようなformを作って送信すると、

<input type="checkbox" name="q" value="1">
<input type="checkbox" name="q" value="2">
<input type="checkbox" name="q" value="3">

確かに「q=1&q=2&q=3」というリクエストが送信されます(IE、Firefoxともに確認済み)。しかし、これをサーバサイドでPHPで受け取って print_r($_POST) とかで表示すると、

Array
(
    [q] => 3
)

のように q の値は 3 のみになっています。これはPHPの仕様がW3Cの勧告に即していないということでしょうか?
0251nobodyさん2006/08/10(木) 22:10:12ID:???
>>250
<input type="checkbox" name="q[]" value="1">
<input type="checkbox" name="q[]" value="2">
<input type="checkbox" name="q[]" value="3">
でお願いします。
0252nobodyさん2006/08/10(木) 22:17:30ID:???
その文面からだと確かにそのように読めるね。
一応こうならば何とか動くけど。

<input type="checkbox" name="q[]" value="1">
<input type="checkbox" name="q[]" value="2">
<input type="checkbox" name="q[]" value="3">
02532522006/08/10(木) 22:19:59ID:???
うは、遅かった。
0254nobodyさん2006/08/10(木) 22:20:09ID:???
それを動かそうとすると、QUERY_STRINGを取得して、自前で変換するしかないと思う
0255nobodyさん2006/08/10(木) 22:34:13ID:???
>>252-254
できました。ありがとうございました。
0256nobodyさん2006/08/10(木) 22:42:35ID:???
PHPで検索システムを作ってますが、1文字で検索するとたまに?になってしまいます。
なぜでしょうか?
0257nobodyさん2006/08/10(木) 22:57:22ID:???
>>256
文字コードの自動判別失敗と mbstring.substitute_character のせい
0258nobodyさん2006/08/11(金) 01:07:57ID:???
>>257さんへ

文字コードはちゃんと判別してると思います。(たまに?になるだけですので)
mbstring.substitute_character はnone,long,12307と変更してみましたが
やはり1文字で検索するとたまに?になってしまいます。
0259nobodyさん2006/08/11(金) 01:13:14ID:???
>>258
1文字だと誤判別しやすいんだよ。>>257の言ってるのはそういう指摘だと思う。
文字コード自動判別にはある程度の字数がないと正確に判定できないのだ。
0260nobodyさん2006/08/11(金) 01:39:59ID:???
文字コード自動判別の順番変えるべし
02611642006/08/11(金) 03:07:29ID:???
>>171

すいません、そこはここで質問する時にキーを打ち間違えたんです。
「function」ですね、お恥ずかしい。

やりたいことはようはXMLで読み込んだオブジェクト?($xml->itemみたいな)
を引数にして関数に渡して、そっちで処理したい、ってことなんですが、
まだできません。

引き続きどなたかアドバイスなどいただけたらと。
0262nobodyさん2006/08/11(金) 03:20:28ID:???
>>260
ありがとお!!!
解決しますた!!!
0263nobodyさん2006/08/11(金) 04:36:07ID:???
>>261
試したことないのであてずっぽだけど、引数をリファレンスで渡してみたらどうよ?

$xmlを丸ごと渡すなら分かるけど、$xml->itemとかいう渡し方をした場合、
$xml->itemの中で$thisとして$xmlのメンバ変数を参照しようとしたとき
$itemしかコピーされてないと正常動作しようがないんじゃないか?って気がした。
0264nobodyさん2006/08/11(金) 05:20:15ID:???
usleep()で小さい数値を指定した場合に、環境によって待ち時間がバラバラなんですが、そういうものなんでしょうか?

間で処理が遅れる事があるだろうと思うので、少し増えたりするのはうなずけるんですが、
試してみたところ、ある環境では引数に指定した値のの約3倍ずつ待っていたり
またある環境では引数に指定した値より待ち時間が少なかったりしました。

どなたかご存知でしたら教えてください。
0265nobodyさん2006/08/11(金) 07:28:05ID:???
>>264
<?php
$time1 = microtime();
usleep(3);
$time2 = microtime();
list($m1, $s1) = explode(" ", $time1);
list($m2, $s2) = explode(" ", $time2);
echo $m2 - $m1;
?>
これを繰り返したけど0.003〜0.01程度とばらばら(Win32, PHP5.1.4, Pentium D 930)
CPUのスペックや同時に動いているプロセスの数や種類などでかなり差が出るとは思われる
0266nobodyさん2006/08/11(金) 09:36:05ID:???
>>264
$time1 = microtime();
$time2 = microtime();
というふうに連続でやってもマイクロ秒付近の偏差はでるんだから、usleepのせいってわけじゃなくね?
0267nobodyさん2006/08/11(金) 11:15:29ID:???
usleepの精度とかってmanpage見た方がいいと思うんだな
0268nobodyさん2006/08/11(金) 12:11:15ID:???
>>267
The usleep() function suspends execution of the calling process for (at least) usec microseconds.
The sleep may be lengthened slightly by any system activity or by the time spent processing the call or by the granularity of system timers.
>>264
最低、引数の時間は止まるので少なくなることはない
0269nobodyさん2006/08/11(金) 12:14:53ID:???
下らない質問ですが

$a = array(1,2,3,);

この最後のカンマってあってもいいのでしょうか?
echo count($a);
とすると 4 になるかと思ったら 3 になりました。

マニュアルのどこかに載ってますでしょうか?
0270nobodyさん2006/08/11(金) 12:36:17ID:???
>>269
なくてもいい
マニュアルに載っていたかな
Cからの慣習なのかも
0271nobodyさん2006/08/11(金) 12:37:32ID:???
>>270
>>269の質問に対する答えとしては、あってもいいだな
0272nobodyさん2006/08/11(金) 15:53:56ID:???
Cだとコンパイル通らんけどな
0273nobodyさん2006/08/11(金) 16:21:47ID:???
通るだろ
0274nobodyさん2006/08/11(金) 17:20:55ID:???
>>272
エラーでなかったよ
int main(void)
{
char a[] = {1, 2, 3, };
return 0;
}
0275nobodyさん2006/08/11(金) 17:47:27ID:???
>>269
http://jp.php.net/manual/ja/function.array.php
一般的ではないですが、 最後に定義された配列エントリの後に
続くカンマがある場合、 これは有効な構文です。

配列要素を修正した時とかに最後のカンマの消し忘れても
エラーにはならない対応なんだろうけど
一般的じゃないと書かれている以上、消し忘れでない限りは
つけない方が個人的にはいいと思う
■ このスレッドは過去ログ倉庫に格納されています