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

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

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

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 76
http://pc11.2ch.net/test/read.cgi/php/1226517332/

◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】

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

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0249nobodyさん2008/12/13(土) 07:12:10ID:6CbaLDLd
http://tech.oklahome.net/6/Fall+Break.html

このページに

「また、第3引数に文字コードも指定した方が無難です。
 $fixed = htmlspecialchars($str, ENT_QUOTES, UTF-8);
「UTF-8」と書いた部分には、自分の使っている文字コード
を書きます。mb_internal_encoding()と書いておくのもありです。

と書いてあるのだが、「UTF-8」と「mb_internal_encoding()」と
どっちを書けばいいのだ?
0250nobodyさん2008/12/13(土) 07:33:57ID:???
>>249
日本語勉強汁
書いてあるまんまだろ
処理対象が内部エンコードじゃなかったら自分で指定しなきゃいかんわけだし。
0251nobodyさん2008/12/13(土) 07:37:09ID:???
>>247
第2引数が省略されて、アトリビュートをシングルクォートで出力すると
XSSが可能になる
文字コードを指定しないと、文字コードが違った場合に変換されない文字がある。
処理対象文字列が出力文字列と違う場合など、処理方法はケースバイケース
定式の対策ってのはサンプルでしかないって常識だから(カス以外)
0252nobodyさん2008/12/13(土) 08:41:32ID:???
pearからアク禁されたやつっている?
0253nobodyさん2008/12/13(土) 08:58:20ID:6CbaLDLd
DB.とMDB2で、
DBはもう古くて、
MDB2を使わないとだめなの?
0254nobodyさん2008/12/13(土) 09:46:06ID:???
>>253
なんで「質問」付けなくなったの?質問内容からなんとなく分かるけど念のため付けてくれ
0255nobodyさん2008/12/13(土) 11:57:09ID:???
だな。さもなきゃトリップつけたら?

さて、スパム質問がんがん続けてもらって結構だが、
>>1を守って、最低限の情報は提示したらどうかね。

>>253
DB MDB2? 正確に何の何って書いてくれ。
PEARのことか、標準関数か、PDOかさっぱりわからねぇ
0256nobodyさん2008/12/13(土) 14:07:48ID:???
これからPHPを覚えて就職しようと思うのですが
就職のとき、どの程度のスキルがあればいいのかなどを教えていただけないでしょうか
0257nobodyさん2008/12/13(土) 14:20:52ID:???
GoFパターンを完全理解
各種フレームワークを使いこなす
ある程度のDBチューニング、DHTML、Ajax技術の取得
くらい
0258nobodyさん2008/12/13(土) 15:01:29ID:eAoN+Tsu
【OS名】Free BSD
【PHPのバージョン】php5
【連携ソフトウェア】
【質問内容】

PHPでアクセス解析ツールを自作しています。
その際アクセスしてきた端末のIPアドレスが、リストであらかじめ指定しておいた
特定の範囲のIPアドレスに該当する場合は記録に残さないよう除外機能を
設けようと思っています。

ところがIPアドレスの範囲表記といっても表現の仕方は様々で、たとえば

a) 192.168.1.1/255.255.0.0 サブネットマスク

b) 192.168.1.1/12 ビットマスク

c) 192.168.1.1-192.168.1.255 範囲指定1

d) 192.168.1.1-255 範囲指定2

と種種雑多あります。おのおののケースに関して場合分けして一つ一つしらみつぶしに
対応させていく方法もありますがかなり面倒です。

PHPの標準関数の中に上記の表記方法の違いを吸収してくれるものは無いでしょうか?
0259nobodyさん2008/12/13(土) 15:06:01ID:???
4種類の入力に対応させたいけど4種類の処理の実装がめんどいってこと?
02602582008/12/13(土) 15:11:32ID:eAoN+Tsu
>>259
はい、たとえば禁止リストの中に>>258のa)〜d)の表記が混在していても問題なく
対応できるコードを書きたいと思っています。標準関数等でその違いを吸収して
くれるものがあれば実装はぐっと楽になりますが、なければa)〜d)に関してこちら
で場合分けしてやらなければならなくなるわけです。
0261nobodyさん2008/12/13(土) 15:57:04ID:???
ぐぐってみたらはてなでこんな質問や
http://q.hatena.ne.jp/1123814667
こんな関数とPEARクラスがあったよ
http://jp.php.net/ip2long
http://pear.php.net/package/Net_IPv4

その用途に特化したライブラリはあるのかもしれないけど俺は知らないなー
他のスクリプトのコード見て拝借するか上のクラス使って実装するのがいいんじゃなかな
0262nobodyさん2008/12/13(土) 16:08:01ID:???
>>261のNet_IPv4に丸投げでおk
02632582008/12/13(土) 17:58:47ID:eAoN+Tsu
>>261-262
どうもです。Net_IPv4をざっと見てみました。

Net_IPv4::ipInNetwork()を使えばCDIR形式(b形式)で指定された範囲のIPアドレスが
特定のIPアドレスに該当するかチェックできそうです。

ただいずれにせよNet_IPv4自体はa, b, c, dの区別まではつくてくれるわけではないので
場合分けは他の方法を考案しないといけないようです。
0264nobodyさん2008/12/13(土) 19:16:22ID:YPhOdbZ4
初心者です、
1個の処理が終わって、画面表示されるときはいいのですが、
そうでなく、どこかへ飛ばしたいとき、どうするのでしょうか。

PERLのようにGOTOは使っていないみたいですが、
どうすればいいのかわかりません。

初心者ですみません
0265nobodyさん2008/12/13(土) 19:18:30ID:???
header("Location:http://google.com/");
0266nobodyさん2008/12/13(土) 19:19:19ID:???
<初心者>

</初心者>
0267nobodyさん2008/12/13(土) 19:22:09ID:???
PerlなんてしらんがGOTO文は関係ないだろ・・・
0268nobodyさん2008/12/13(土) 21:14:20ID:YPhOdbZ4
初心者ですが、悩ましい
0269nobodyさん2008/12/13(土) 23:46:10ID:K82uEZY1
【OS名】winXP
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
divでメニューとメインの左右2カラムに分けているのですが、メニューをクリックするとメインに対応したページ(hoge.html)を表示させるようにはできないでしょうか?
0270nobodyさん2008/12/13(土) 23:47:52ID:???
<a href="hoge.html">メニュー</a>
02712962008/12/13(土) 23:51:07ID:K82uEZY1
>>270だとhoge.htmlしか表示されませんよね?
02722692008/12/13(土) 23:54:29ID:???
言葉が足りていませんでした。
【質問内容】
divでメニューとメインの左右2カラムに分けているのですが、メニューをクリックするとメインに対応したページ(hoge.html)を”メインのカラムに”表示させるようにはできないでしょうか?
0273nobodyさん2008/12/13(土) 23:55:09ID:???
<a href="hoge.html" target="_multiscreen">メニュー</a>
02742692008/12/14(日) 00:12:57ID:???
targetの _multiscreenという属性が見当たらないのですが・・・
0275nobodyさん2008/12/14(日) 00:20:01ID:???
javascriptで対応したページのデータを引っ張ってきてメインのカラムのコンテンツと置き換えれば?
02762692008/12/14(日) 00:25:37ID:???
>>275
JSを触ったことが無いので誘導若しくは記述していただけないでしょうか
0277nobodyさん2008/12/14(日) 00:26:23ID:???
ぐぐれ
0278nobodyさん2008/12/14(日) 00:29:46ID:wo5hksfa
【OS名】centOS
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】

顧客情報がMD5のハッシュ化されて保存されてしまいました。
どうやったら顧客名を復元できるか教えてください。
0279nobodyさん2008/12/14(日) 00:31:30ID:???
ムリポ
0280nobodyさん2008/12/14(日) 00:33:41ID:???
英数36文字の総当りプログラム書けばイケルポ
0281nobodyさん2008/12/14(日) 00:42:49ID:???
今、PHPの入門書読んでるんだが、
「理解できないほど難しい」
という個所はほとんどなく、
たいていの説明は理解できる。

Cと違ってとてもうれしい。
ストレスがたまらない。
0282nobodyさん2008/12/14(日) 00:55:12ID:???
> ストレスがたまらない。

ストレスがうれしいってマゾ
0283nobodyさん2008/12/14(日) 03:28:19ID:???
捜査幹部によると、勝木容疑者は物事を順序立てて話すのが苦手な様子で、
調べ官は、文字や絵を使いながら慎重に調べている。
0284nobodyさん2008/12/14(日) 03:40:18ID:???
http://ww7.tiki.ne.jp/~inabah/php/index.htm

このページわかりやすい
0285nobodyさん2008/12/14(日) 04:02:38ID:???
糞ページの宣伝乙
0286nobodyさん2008/12/14(日) 04:05:45ID:???
>>284
今まで見たページの中で一番役立つと思った。
的確な解説と詳しい事例の紹介。特に、右側の本の紹介は最高。
さっそく何冊か買っちゃった。これは買いだよ。
0287nobodyさん2008/12/14(日) 04:07:44ID:???
自演アフィ厨乙
0288nobodyさん2008/12/14(日) 04:38:40ID:???
>>284
いや、俺が凄いと思うよ、このページ。
人によって色々意見があると思うけど、そこらの本では得られない情報が満載。
右の本の紹介も確かに参考になるね。ありがとう。
0289nobodyさん2008/12/14(日) 07:07:57ID:cWESsLbm
【OS名】winXP
【PHPのバージョン】php5.26
【連携ソフトウェア】SQLite
【質問内容】
PDOで処理しています
INSERT でトランザクションかけている時に
他のユーザでINSERT しようとすると database is locked となります
数秒待ってから、database is locked の表示が出るのではなく
すぐエラーの表示になってしまいます

書き込みが処理がダブった場合に、片方のユーザは待つようにしたいのです
http://www.bumblebury.com/function.sqlite-busy-timeout.html
ココを見ると、初期値ではタイムアウトが設定されている
となっているのですが、処理待ちしてくれません

どうすればいいのでしょうか
0290nobodyさん2008/12/14(日) 07:36:05ID:???
>>284
このページ最高。右の本もセンスが良い物ばかり、
先の人と同じで、私も早速注文させて頂きました。
0291nobodyさん2008/12/14(日) 07:50:35ID:???
2chでの営利目的な宣伝行為は禁止です
0292nobodyさん2008/12/14(日) 08:04:57ID:???
宣伝じゃないよ。まずページを見てから言えよ。
0293nobodyさん2008/12/14(日) 08:20:12ID:???
見た
初心者のまとめ用ノートに見えた
解説ページとしての出来は三流以下
本もどういった理由でお勧めかも書いていない
ただのアフィ目的
0294nobodyさん2008/12/14(日) 08:27:34ID:???
http://www.php-ref.com/

このページわかりやすい
0295289です2008/12/14(日) 09:36:55ID:cWESsLbm
>>289 の補足です
sqlite_busy_timeout()
これと同じ事をPDOでしたいのです

よろしくお願いします
0296nobodyさん2008/12/14(日) 10:03:03ID:???
>>295
エラーがどこで発生して何がエラー表示をしているかを調べてみたら?
エラーを捕捉したらそのエラー種を調べて、一定時間内であればsleepしてリトライ
0297nobodyさん2008/12/14(日) 10:44:44ID:???
>>294は完全に糞。>>284のサイトがこれまでで最高のサイト。
0298nobodyさん2008/12/14(日) 11:03:43ID:???
>>297
  ∧_∧         ∧_∧         ∧_∧         ∧_∧
  (´・ω・`)     n   (´・ω・`)     n    (´・ω・`)     n   (´・ω・`)     n
 ̄     \    ( E)  ̄     \    ( E)  ̄     \    ( E)  ̄     \    ( E)
フ     /ヽ ヽ_//  フ     /ヽ ヽ_//  フ     /ヽ ヽ_//  フ     /ヽ ヽ_//
  ∧_∧         ∧_∧         ∧_∧         ∧_∧
  (´・ω・`)     n   (´・ω・`)     n    (´・ω・`)     n   (´・ω・`)     n
 ̄     \    ( E)  ̄     \    ( E)  ̄     \    ( E)  ̄     \    ( E)
フ     /ヽ ヽ_//  フ     /ヽ ヽ_//  フ     /ヽ ヽ_//  フ     /ヽ ヽ_//
  ∧_∧         ∧_∧         ∧_∧         ∧_∧
  (´・ω・`)     n   (´・ω・`)     n    (´・ω・`)     n   (´・ω・`)     n
 ̄     \    ( E)  ̄     \    ( E)  ̄     \    ( E)  ̄     \    ( E)
フ     /ヽ ヽ_//  フ     /ヽ ヽ_//  フ     /ヽ ヽ_//  フ     /ヽ ヽ_//
  ∧_∧         ∧_∧         ∧_∧         ∧_∧
  (´・ω・`)     n   (´・ω・`)     n    (´・ω・`)     n   (´・ω・`)     n
 ̄     \    ( E)  ̄     \    ( E)  ̄     \    ( E)  ̄     \    ( E)
フ     /ヽ ヽ_//  フ     /ヽ ヽ_//  フ     /ヽ ヽ_//  フ     /ヽ ヽ_//
0299nobodyさん2008/12/14(日) 13:53:19ID:???
>>289
PDO::setAttribute(PDO::ATTR_TIMEOUT, 1000);
は違うかい?
0300289です2008/12/14(日) 17:37:24ID:cWESsLbm
>>299
やっているんですけどダメなんです
トランザクション開始せずに、INSERT を実行するように
記述すれば正常に待ってくれますが
トランザクションを開始してINSERT をするようにすると
トランザクション開始の段階でdatabase is locked を出してくる
ようなのです
0301289です2008/12/14(日) 17:50:52ID:cWESsLbm
>>300 の補足です
端末A側で時間のかかるINSERTを実行すると同時に
端末B側でINSERTを実行する
  →○端末Aの処理が終わるまで待ってくれる

端末A側でトランザクションを開始してからINSERTを実行すると同時に
端末B側でトランザクションを開始してINSERTを実行する
  →×一切待たずにdatabase is locked エラー
0302nobodyさん2008/12/14(日) 18:25:18ID:???
>>301
> ×一切待たずにdatabase is locked エラー

そのエラーはDBが吐いてるのか、PDOが吐いてるのか確認した?

タイムアウトはPHPがクライアントとしてどんだけ待つか?という設定。
DBからエラーが帰ってきたら、待つわけがないんで、
コマンドラインでトランザクションが重複したときの挙動を確認してみて。

もし、SQLiteの挙動として、トランザクション処理が二重になると
「database is locked」が返ってくるようなら自前でリトライするしかない
0303nobodyさん2008/12/14(日) 18:53:31ID:???
バグかもしれないから、PDOのコンストラクタで指定してみるっていう
手はあるかもね。
あるいは、ステートメントでsqlite_busy_timeout(100000) を発行する
0304nobodyさん2008/12/14(日) 20:29:18ID:YaM9vo5D
$csv = fopen ("hoge.csv", "r") or die(print "ファイル開けませんでした。");
while ($items = fgetcsv ($csv, 1000,",")) {

結果表示


}

fclose($csv);

これにページング機能をつけたいのです
CSVファイル内は500件あって
20件ずつ表示させたいです。

よろしくおねがいします
0305nobodyさん2008/12/14(日) 20:45:14ID:???
die(print "ファイル開けませんでした。");

なにこれ、裏技?
0306nobodyさん2008/12/14(日) 20:47:10ID:???
http://www.google.co.jp/search?q=PHP+%83y%81[%83W%83%93%83O%8B@%94\
0307nobodyさん2008/12/14(日) 20:52:56ID:???
>>304 Pager
>>305
揚げ足帰れ^^;
0308nobodyさん2008/12/14(日) 20:54:08ID:???
目から牛乳
0309nobodyさん2008/12/14(日) 21:53:42ID:???
http://spysee.jp/%E3%81%BE%E3%81%A4%E3%82%82%E3%81%A8%E3%82%86%E3%81%8D%E3%81%B2%E3%82%8D

これはおもしろい
0310nobodyさん2008/12/14(日) 21:54:06ID:w3Pugtuv
お助けください。
wordpressでつくったサイトのトップページに、
ブログの更新情報をPHPで表示したいのですが、

2008.12.14 ブログの更新情報
2008.12.14 ブログの更新情報
2008.12.14 ブログの更新情報

という風に表示するには、どういう記述をしたらいいのでしょうか。
詳しい方お願いします!
0311nobodyさん2008/12/14(日) 21:54:21ID:???
マルチ乙
0312nobodyさん2008/12/14(日) 22:34:56ID:2jbmy5jI
【OS名】CentOS4.6
【PHPのバージョン】php4.3.9
【連携ソフトウェア】apache 2.0
【質問内容】
php5.2.3以降を入れたいのですが、どのような方法があるでしょうか。
Jason氏のレポジトリを使うという方法もあるそうですが、評判はどう
なんでしょうか。
0313nobodyさん2008/12/14(日) 23:54:19ID:???
>>310
マルチ乙
0314nobodyさん2008/12/14(日) 23:54:52ID:???
>>312
php4を消してphp5をインストール
0315nobodyさん2008/12/15(月) 01:37:01ID:???
>>312
ソースから入れれば?
もしくはどこかの誰かが作ってるかもしれないRPM入れるか
0316nobodyさん2008/12/15(月) 02:10:05ID:???
最近わかったこと。
変数の名前を「aaa」とかにすると
後から読んでわけわかんなくなる。
0317nobodyさん2008/12/15(月) 02:37:19ID:Y6XF9DXs
質問

ファイルを読み込むときに、
そのファイルがなかったときは、
どのように処理するのが適切か。

「ファイルが存在しません」
とエラーメッッセージを出して、
止めるのが正解か?

そのとき、
「エラーです」
とだけ表示するか、
「ファイルが存在しません」
と、「理由」も表示するべきか、
「abc.txtが存在しません」
と「ファイル名」も表示するべきか?
0318nobodyさん2008/12/15(月) 03:20:56ID:/Qwgx48G
>>316
aaaはテスト用
0319nobodyさん2008/12/15(月) 05:08:01ID:???
昔アフリカに青年海外協力隊?が行って避妊、ゴムの付け方を教えたそうだ。
言葉が通じないから木の枝にゴムを被せるというジェスチャーで何とか教えたという。

それから何年かしてアフリカに行ってみたら子供は減るどころか逆に増えてたんだ。
おかしいと思って夜民家の近くに行ったらなんと木の枝にゴムが被っていてジェスチャーで教えたそのまんまだったそうだ。
現地の人は木の枝にゴムを被せたら妊娠しないというおまじないだと思ってたそうな。
0320nobodyさん2008/12/15(月) 05:59:52ID:???
php板やプログラマー板に入り浸ってる人間ってのは
基本的にリアル対人能力は無いneet達なんだから
普通の交流しようとしても無駄だし
関わってもキチガイ人間っぷりにうんざりするだけ

普通にコミュニケーション力鍛えて
普通の世界に入った方が圧倒的に人生楽しめる
0321nobodyさん2008/12/15(月) 06:07:13ID:Y6XF9DXs
だれか助けてくれ、、、

あまりにもナゾなバグが出た、、、

「ボタンを押すと数字が1減る」
ってプログラムを書いたんだが、
なぜか10から1減らすと90になる。

何を言っているかわからねーと思うが
こっちもわからない。

だってそんなロジックは入れてないんだから。

なんで?
0322nobodyさん2008/12/15(月) 06:08:12ID:Y6XF9DXs
13→12→11→10→90→89→88→,,,,

こういう動作になってしまっている。

もちろん、こちらが希望する動作は

13→12→11→10→9→8→

なのだが。なんで増えるの??
0323nobodyさん2008/12/15(月) 06:17:45ID:Y6XF9DXs
もしかして10の左の1を消して、
9を書き込んでるから、
90
になってるの?

でもなんでそうなるの?
0324nobodyさん2008/12/15(月) 06:46:16ID:???
>>321-323
釣られてみるが、その下らないプログラムをエスパーしろと?

むしろはっきりこう書いたらどうだ。
一見、Aの動作を期待しているように見えるコードで
Bの結果が得られるコードを示せ。

A 13→12→11→10→9→8→
B 13→12→11→10→90→89→88→,,,,
0325nobodyさん2008/12/15(月) 06:50:25ID:???
>>321に期待
0326nobodyさん2008/12/15(月) 08:16:16ID:???
                |
                |
                |
                |
     /V\        ,J
    /◎;;;,;,,,,ヽ
 _ ム::::(;;゚Д゚)::| ジー
ヽツ.(ノ::::::::::.:::::.:..|)
  ヾソ:::::::::::::::::.:ノ
   ` ー U'"U'
0327nobodyさん2008/12/15(月) 08:35:31ID:???
得られるものがないんだから回答者は相手にするなっての
いい加減学習しろ
0328289です2008/12/15(月) 09:02:53ID:7RJYXvH2
>>303
>PDOのコンストラクタで指定してみるっていう手
すいません、具体的にどう書けばいいのでしょうか

>ステートメントでsqlite_busy_timeout(100000) を発行
sqlite_open を使ってないので???

ttp://phpspot.net/php/man/php/function.sqlite-busy-timeout.html
一応、↑ココを参考に下記の記述しましたがはじかれました
$db=new PDO ($dsn);
$db->busyTimeout(10000);
0329nobodyさん2008/12/15(月) 10:11:37ID:???
いろいろ試してみた?

うーん、そりゃはじかれるだろ。
ただ、はじかれましたで、何かが得られたりはしないと思うし、
どう試して、どういう結果になったのかがわからなきゃフォローのしようがない
0330289です2008/12/15(月) 10:41:07ID:7RJYXvH2
ttp://www.mail-archive.com/[email protected]/msg13901.html
同じケースがありました
あきらめます


0331nobodyさん2008/12/15(月) 11:13:49ID:???
>>330
その参照先には何も理由とか、無理とか書いてないよな?
だいたい、beginでエラー返してくれるんだったら、何も問題ないわけだが
0332nobodyさん2008/12/15(月) 14:36:42ID:???
あきらめたらそこで試合終了だよ(AA略
0333nobodyさん2008/12/15(月) 14:52:01ID:???
年がばれますよおっさん乙
0334 ̄ ̄ ̄ ̄ ̄)/ ̄ ̄ ̄ ̄ ̄ ̄ ̄2008/12/15(月) 15:11:35ID:vRJjZHan
     /⌒ヽ
    / ^ ω^j、
 _, ‐'´  \  / `ー、_
/ ' ̄`Y´ ̄`Y´ ̄`レ⌒ヽ
{ 、  ノ、    |  _,,ム,_ ノl
'い ヾ`ー〜'´ ̄__っ八 ノ
\ヽ、   ー / ー  〉
\ \`ヽ-‐'´ ̄`冖ー-く
|| \ \         \     ∧_∧
||   \ \         \  ( ´Д`) オイ、なんか変なのがいるぞ
||    \ \         \ /     ヽ
||      \ \         / |  | |
||       \ \∧_∧ (⌒\|__/ /
          ヽ(     )絶対目合わせるな  ∧_∧
           /   く          \  (    ) うわー、なんか言ってるよ
           |     \           \/    ヽ
0335nobodyさん2008/12/15(月) 15:47:28ID:???
AAオタク乙
0336nobodyさん2008/12/15(月) 16:27:28ID:6UH6h1c5
$a = array('x'=>'X','a'=>'A',0=>'B',1=>'C',2=>'Y',3=>'Z');
ksort($a,SORT_REGULAR);
print_r($a);
のように5.2.5で走らせると結果が
Array
(
[x] => X
[0] => B
[a] => A
[1] => C
[2] => Y
[3] => Z
)
となってしまい、なんだかおかしい気がします。
SORT_NUMERIC や STRINGの場合はわかるんですが
ksrotでのREGULARってどういうソートを行ってるんでしょうか。
0337nobodyさん2008/12/15(月) 16:40:44ID:???
>>336
5.1.でも同じ現象だった
バグじゃね?
0338nobodyさん2008/12/15(月) 16:48:12ID:???
>>336
キーに0が入るとだめだめってことかね
0がないときの動作は正常
<?php
$a = array('x'=>'X','a'=>'A',0=>'B',1=>'C',2=>'Y',3=>'Z');
unset($a[0]);
ksort($a,SORT_REGULAR);
var_export($a);

array (
'a' => 'A',
'x' => 'X',
1 => 'C',
2 => 'Y',
3 => 'Z',
)
0339nobodyさん2008/12/15(月) 16:56:18ID:???
連想配列のときに数字と文字をごっちゃにしたらソートできないわな
0340nobodyさん2008/12/15(月) 18:47:16ID:6UH6h1c5
バグっぽいですか。ありがとうございます。

>>339
sort asort あたりだとデフォやREGULAR指定でも問題ないんですけどね。
ksortのときだけSORT_STRINGにでもしておかないと場合によっては想定外の動作しそう。
0341nobodyさん2008/12/15(月) 22:10:30ID:Y6XF9DXs
質問

アクセスカウンタ関係とか、
ファイルロック関係とか、
ライブラリみたいな形で
まとまってるものってないの?
0342nobodyさん2008/12/15(月) 22:18:16ID:Y6XF9DXs
質問

解説サイト見ると、
「ファイルがロックされているかどうか、
返り値をみて確認したほうが良い。

ファイルがロックされていないのに
ロックされていると勝手に決め付けて
処理をすすめてしまう可能性がある」

と書いてあるのですが、これって本当に
いちいち確認したほうがいいの?

ロックが取得できなかったときは、
そのまま待機に入るのではないの?
0343nobodyさん2008/12/15(月) 22:19:42ID:???
通常の配列と連想配列がごっちゃになったデータのソートなんて、未定義なんじゃねーの?
個人的にはNotice出してくれてもいいくらい
0344nobodyさん2008/12/15(月) 22:28:37ID:???
>>342
文章は読む気がしないからコードを書いて質問したまえ
0345nobodyさん2008/12/15(月) 22:31:29ID:???
素朴な疑問なんですけど、phpってやっぱり小規模WEBシステムにし
か向かないのでしょうか?大規模サイトだとパフォーマンスが悪いのですか?

ただ、mixiとかの大規模システムでもphpで運営してるそうなのでその辺りの関係がいまいち分かりません。
そもそもどんな言語で開発をしたとしても最終的に実行される時には、
機械語に翻訳されて実行される訳だから速度なんて変わらない気がするのでが実際のところどうなんでしょうか?
0346nobodyさん2008/12/15(月) 22:32:36ID:???
>>345

>>1
0347nobodyさん2008/12/15(月) 22:32:50ID:???
>>1
0348nobodyさん2008/12/15(月) 22:34:02ID:???
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
■ このスレッドは過去ログ倉庫に格納されています