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

このエントリーをはてなブックマークに追加
952nobodyさん:2010/01/07(木) 18:06:19 ID:LXzPFyV8
error_reporting(0);

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

この連立方程式をPHPで解くコードを教えてください
956nobodyさん:2010/01/07(木) 19:56:03 ID:???
PHP6はhtmlspecialchars()が消えるみたいだよ
957nobodyさん:2010/01/07(木) 20:33:47 ID:???
htmlentitiesは?
958nobodyさん:2010/01/07(木) 20:34:09 ID:5cb0Qm+/
例えば30まで数があって、
30からランダムに順々に重複しない数を取り出したいです。
考えたのが、
例えば最初に5を取り出したとき、5をストック。次に
ストックを検索してかぶらない数字12を取り出してストック、ストック(5, 12)を検索して・・
という感じでやろうとしたのですが、無駄が多いように思えるのです。
何か他に効率のよい方法はありませんでしょうかアドバイスよろしくお願いします。
959nobodyさん:2010/01/07(木) 20:39:27 ID:???
効率といってもいろいろあるけどね。
ここにそのまま使えそうな例がある。
http://www.php.net/manual/ja/function.shuffle.php
960nobodyさん:2010/01/07(木) 20:47:11 ID:???
>>959
PHPパネェ
961nobodyさん:2010/01/07(木) 21:24:45 ID:5cb0Qm+/
>>959
とりあえずはやりたいことがシンプルにかけました
ありがとうございました
962nobodyさん:2010/01/07(木) 21:30:53 ID:???
アレイシャッフルは精度がよくないから自分で実装したほうが良い
シャッフルのアルゴリズムはmediawikiで探すと見つかる
963nobodyさん:2010/01/07(木) 23:49:38 ID: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
964nobodyさん:2010/01/08(金) 00:26:11 ID:???
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
965nobodyさん:2010/01/08(金) 09:16:40 ID:???
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;
}
966nobodyさん:2010/01/08(金) 09:48:35 ID:???
>>962
PHPの中でどうやって混ぜてるか見たけど(array.c)
配列の全要素を、乱数で他の要素と入れ替えてるね。

mediawikiは???
967nobodyさん:2010/01/08(金) 11:01:32 ID:???
shuffleは偏りが出るの?
968949:2010/01/08(金) 15:52:11 ID: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と表示されます)
969940:2010/01/08(金) 15:58:56 ID:3B7A809H
>> 941
> JISはシフトインアウトがあるからな

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

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

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

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

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

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


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

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

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

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

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

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