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

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

レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん2009/12/08(火) 13:53:09ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

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

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

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

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0951nobodyさん2010/01/07(木) 17:56:32ID:LXzPFyV8
一時的にnoticeをログに出さないように変更したいんだけど
サーバ管理の権限はありません。
プログラム中で変更とかできないでしょうか?
0952nobodyさん2010/01/07(木) 18:06:19ID:LXzPFyV8
error_reporting(0);

でした。事故レス。
0953nobodyさん2010/01/07(木) 18:59:51ID:???
ereg系は使うな!!!!!!!!!!!!!
0954nobodyさん2010/01/07(木) 19:17:59ID:???
ereg系はPHP6で消えるとか消えないとか
0955nobodyさん2010/01/07(木) 19:30:27ID:AjaMrx7g
(x + n)(y + n2) = a

この連立方程式をPHPで解くコードを教えてください
0956nobodyさん2010/01/07(木) 19:56:03ID:???
PHP6はhtmlspecialchars()が消えるみたいだよ
0957nobodyさん2010/01/07(木) 20:33:47ID:???
htmlentitiesは?
0958nobodyさん2010/01/07(木) 20:34:09ID:5cb0Qm+/
例えば30まで数があって、
30からランダムに順々に重複しない数を取り出したいです。
考えたのが、
例えば最初に5を取り出したとき、5をストック。次に
ストックを検索してかぶらない数字12を取り出してストック、ストック(5, 12)を検索して・・
という感じでやろうとしたのですが、無駄が多いように思えるのです。
何か他に効率のよい方法はありませんでしょうかアドバイスよろしくお願いします。
0959nobodyさん2010/01/07(木) 20:39:27ID:???
効率といってもいろいろあるけどね。
ここにそのまま使えそうな例がある。
http://www.php.net/manual/ja/function.shuffle.php
0960nobodyさん2010/01/07(木) 20:47:11ID:???
>>959
PHPパネェ
0961nobodyさん2010/01/07(木) 21:24:45ID:5cb0Qm+/
>>959
とりあえずはやりたいことがシンプルにかけました
ありがとうございました
0962nobodyさん2010/01/07(木) 21:30:53ID:???
アレイシャッフルは精度がよくないから自分で実装したほうが良い
シャッフルのアルゴリズムはmediawikiで探すと見つかる
0963nobodyさん2010/01/07(木) 23:49:38ID:0Znmv5GU
<?php
$array = array();
for($a = 1; $a < 31; $a++) {
$num = rand(1,30);
if ( in_array($num, $array) ) {
$a = $a - 1;
continue;
}
$array[] = $num;
}

foreach( $array as $value ){
echo $value."<br />\n";
}
echo count($array);
?>
これじゃだめ?wwwww
0964nobodyさん2010/01/08(金) 00:26:11ID:???
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
0965nobodyさん2010/01/08(金) 09:16:40ID:???
for(int i=0; i<n; ++i) {
do {
r = min + genrand_int31() % (max - min + 1);
} while(result.find(r) != result.end());
result.insert(r);
}
return result;
}
0966nobodyさん2010/01/08(金) 09:48:35ID:???
>>962
PHPの中でどうやって混ぜてるか見たけど(array.c)
配列の全要素を、乱数で他の要素と入れ替えてるね。

mediawikiは???
0967nobodyさん2010/01/08(金) 11:01:32ID:???
shuffleは偏りが出るの?
09689492010/01/08(金) 15:52:11ID:FfxTGFaw
昨日は規制くらってしまいました。
レスありがとうございます。

eregではなくmb_strposにかえたところ、エラーは消えました。
(エラーの原因は − だったようです。)
ところが、今度はまた別の問題が生じました。
mb_strrpos("$datafile[0]","$keyword")
のように、テキストファイルから特定の文字列を探しているのですが、これがうまくいきません。
$datafile[0]と$keywordが同じ文字列でも結果が同じと判定してくれません。(これはprintを使い確かめました)
言葉ではうまく説明できないので、簡単な例をのせてみます。
解決方法をご存知の方いましたら、レスお願いします。


if(mb_strpos($datafile[0],$keyword)!=0){
print("ok");
}else{
print $datafile[0].<BR>;
print $keyword;
}
これで実行しても

漢字 カタカナ ひらがな
漢字

という具合に表示されてしまいます。
(ちなみに、検索語句、検索対象が英字の時はokと表示されます)
09699402010/01/08(金) 15:58:56ID:3B7A809H
>> 941
> JISはシフトインアウトがあるからな

お返事ありがとうございます。
シフトインアウトについては、よく理解できないのですが、unicodeのように簡単には実装できないということでしょうか。

辞書には、UNICODEとJISコードが書かれているので、両方対応できるようにしたいのですが、
やはり、JISコードを変換して漢字にするのは難しいでしょうか。
0970nobodyさん2010/01/08(金) 16:37:58ID:???
>>968
mb_strposは0を返す場合もあるから !=0 じゃダメなんじゃね?
存在しない場合はFALSEが返ってくるから !==falseとかにする
あとは文字コードとか
0971nobodyさん2010/01/08(金) 17:00:32ID:???
>>969
変換元に漢字じゃない文字がないなら、
>>942
0972nobodyさん2010/01/08(金) 17:23:28ID:FfxTGFaw
>>970
確かにそうですね。直しておきます。
現在文字コードはShift_JISですがそれだと問題あるのでしょうか・・・?
0973nobodyさん2010/01/08(金) 19:45:03ID:95a5JUsZ
phpの吐いたソースを書き出してるんですが、
書き出したファイルの内容と新しく自身が吐いたソースの比較はどうすればできますか?
宜しくおねがいします。
0974nobodyさん2010/01/08(金) 19:46:56ID:???
file_get_contents(旧ファイル) === file_get_contents(新ファイル)
0975nobodyさん2010/01/08(金) 19:50:38ID:???
>>973
>>974のように文字列同士の比較で一致するかでいいと思うけど
それだとコストが大きいので書き出す時にmd5ハッシュを保存しておいて比較した方がいいと思う
更新日時の比較がベストだけど
0976nobodyさん2010/01/08(金) 19:51:38ID:???
同時に違う内容を保存したらどうすんねん
0977nobodyさん2010/01/08(金) 20:09:53ID:???
flock
09789732010/01/08(金) 20:17:42ID:95a5JUsZ
>>974-975
ありがとうございます。
説明が曖昧でした。申し訳ありません。

最終的にPHPで同じテキストファイル(かhtmlファイル)
に上書きするんですが、
今回上書きされる内容と、前回上書きした内容が
一致するか比較したいです。

PHPのソースが上書きする前の処理として、例えば
前回と比較→一致なら0,不一致なら1→最終的に上書きはする
という感じのことを行いたいです。
0979nobodyさん2010/01/08(金) 20:35:45ID:???
>>978
#テストしてないけど
function f($filename, $contents='')
{
$old_contents = file_get_contents($filename);
file_put_contents($filename, $contents);
return $old_contents === $contents ? 0 : 1;
}
0980nobodyさん2010/01/08(金) 20:52:40ID:???
>>978
今回上書きされる内容と前回上書きした内容って同じものを指してないか?
0981nobodyさん2010/01/08(金) 21:19:46ID:???
>>973
比較するする処理を行うにふさわしい標準関数があるからマニュアル見て探してみ
0982nobodyさん2010/01/08(金) 21:29:49ID:???
するする処理
09839732010/01/08(金) 22:26:22ID:95a5JUsZ
>>979
少し弄りましたができたと思います。
ありがとうございます。
0984nobodyさん2010/01/08(金) 23:08:50ID:???
>>983

>>981書いたのに探しもしないんだな
レスあればどの関数使うか書こうと思ったけどもういいや
0985nobodyさん2010/01/09(土) 11:54:57ID:???
日本語と英語の両方に対応したWebを作りたいんだけど、
フレームワークレベルで多国語対応しているのってある?

言語リソースを完全に分離しているイメージで
0986nobodyさん2010/01/09(土) 12:17:19ID:???
if (言語判別) {
日本語のファイル読み込み
} else {
英語のファイル読み込み
}


じゃだめ?
0987nobodyさん2010/01/09(土) 12:45:56ID:???
>>985
キミがダメだと思ったフレームワーク挙げてみてよ
0988nobodyさん2010/01/09(土) 15:49:45ID:???
>>985
うちはZendだけど、
今じゃ対応してないフレームワークの方が少ないんじゃないかな
0989nobodyさん2010/01/09(土) 17:16:53ID:g7iSaAwT
コマンドラインから実行されてるか判別する方法ってありますか?
0990nobodyさん2010/01/09(土) 17:21:14ID:???
管理者に聞く
0991nobodyさん2010/01/09(土) 17:30:39ID:lsb/cZ9k
>>989
<?php
if(isset($argv) == true){
  echo "コマンドラインから実行されました";
}
?>
http://jp2.php.net/manual/ja/reserved.variables.argv.php
これでいい?
0992nobodyさん2010/01/09(土) 17:31:31ID:pOjpZhf9
数字を入力して、3桁ごとに , をつけるにはどうしたらいいですか?

100 → 100
1000 → 1,000
100000 →100,000

お願いします。
0993nobodyさん2010/01/09(土) 17:35:43ID:???
>>992
なんでマニュアル見ないの?
てめえのやりたいそのものが標準関数にあるぞ?
0994nobodyさん2010/01/09(土) 17:36:03ID:lsb/cZ9k
>>992
http://jp2.php.net/manual/ja/function.number-format.php
0995nobodyさん2010/01/09(土) 17:37:18ID:???
>>993
うっせー 
09969922010/01/09(土) 17:38:43ID:pOjpZhf9
>>993
自分の持ってる参考書には目を通したのですが、マニュアルはみてなかったです。
自分自身の為にも、次からは気をつけます。

>>994
ありがとうございます。
0997nobodyさん2010/01/09(土) 19:19:13ID:bizuBJVY
ニコニコのAPIを使ったものを作りたいんですが、ログインがうまくできてないようです。

質問内容
お手元の環境で以下のサイトのコードを実行した場合に
 ttp://d.hatena.ne.jp/Xephy/20081217/1229515379
問題なく以下の部分の表示が行われますか?
 //URL表示
 print $login->get_video_url($mov_id);

うちで動かすと、正しいメールアドレス/パスワードを用いても、用いなくても、
実行結果が変わりませんorz
0998nobodyさん2010/01/09(土) 20:13:21ID:lsb/cZ9k
【PHP】下らねぇ質問はID出して書き込みやがれ 92
http://pc11.2ch.net/test/read.cgi/php/1263035502/l50
0999nobodyさん2010/01/09(土) 20:19:07ID:???
999
1000nobodyさん2010/01/09(土) 20:19:49ID:???
このスレは1000の風になりました
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。