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

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

■ このスレッドは過去ログ倉庫に格納されています
00019092006/06/23(金) 01:59:03ID:lPdqGX0Z
PHPに関するくだらねぇ質問用スレです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。

まず読め【PHP マニュアル】
http://www.php.net/manual/ja/

過去スレは>>2
0685nobodyさん2006/07/03(月) 15:56:24ID:???
誰が浮動少数点のままでは比較しないと言ったよ池沼が。
0686nobodyさん2006/07/03(月) 16:01:58ID:???
池沼 ←これなんて読むんだよ知障が。
0687nobodyさん2006/07/03(月) 16:11:55ID:???
>>686
スレ違いだけど一応質問には答えとこう
「ちしょう」だよ
0688nobodyさん2006/07/03(月) 16:14:44ID:???
>>686
分からないで書いていたのかw

ほんとレベル下がったなこのスレ
0689nobodyさん2006/07/03(月) 16:14:55ID:33zQh45+
有効桁って書いただろうよ。
罵倒するだけなら失せろ。
お前には聞いてねーよ。絡んでくるな。
0690nobodyさん2006/07/03(月) 16:15:44ID:???
ネタだろwww
0691nobodyさん2006/07/03(月) 16:41:04ID:???
まあ「これなんて読むんだよ知障が」って言ってるし、ネタなんだろうな。
0692nobodyさん2006/07/03(月) 16:47:58ID:???
>>681
質問の意図がわからないから答えようがない
そしてオレは浮動小数点数を比較したことがない

有効桁以下を切り落として整数化したら両方1になって誤差がありすぎると思うんだけど、それはそれで問題ない処理なわけ?
0693nobodyさん2006/07/03(月) 16:48:01ID:???
自己フォロー乙
0694nobodyさん2006/07/03(月) 16:51:56ID:???
こんにちは。
PHPで、方程式を提示すればそれをグラフにしてくれるようなモ・・なんとかってありますか?
たとえば、 y = 2x + 1 とか、 y = 2(x+3)^2 - 5 とかいう方程式のグラフを書いてくれる感じのやつです。
0695nobodyさん2006/07/03(月) 18:14:24ID:???
>>694
こんにちは
0696nobodyさん2006/07/03(月) 18:47:19ID:???
>>692
キミはアホですか。
有効桁を切り落として整数化=有効桁の分だけ100なり1000なりを掛け算して整数化って意味でしょ。
その程度の意図も読めないなら回答なんてしようと思うなよ〜

で、大小の判定まではともかく、有効桁内での等しいかどうかの比較は整数化が必須じゃないかな。
文字列にしちゃうと12.1と110.1みたいのがまともに比較できなくなるから基本は整数化じゃない?
0697nobodyさん2006/07/03(月) 19:22:43ID:???
$file=fopen('guest.dat','a');
このように書いても、サーバーにguest.datが作成されません。
find / -name "guest.dat" しても引っかかりませんでした。(sudoしています)
そこで
$file=fopen('/guest.dat','a');
としたところ、/にguest.datが作成されました。
一番上のようにディレクトリを指定しない場合はファイルは作成されないのでしょうか?
06986972006/07/03(月) 19:23:16ID:???
サーバはFedoraCore5 PHP5.1.4です。
0699nobodyさん2006/07/03(月) 19:25:53ID:???
>>697
ディレクトリのパーミッション
0700nobodyさん2006/07/03(月) 19:30:58ID:???
>>697
http://jp.php.net/manual/ja/function.getcwd.php
を使ってみるべし。
0701nobodyさん2006/07/03(月) 19:33:02ID:???
ログファイルの区切り文字って何がいいかな?
「,」はエンドユーザが入力したらマズいし、「<>」はだとちょっと面倒?


おまいらはどーしてるん?
0702nobodyさん2006/07/03(月) 19:34:18ID:???
<>
0703nobodyさん2006/07/03(月) 19:36:23ID:???
>>701
「<>」をエンドユーザが入力したらどうするんだよ?
それは置換するから大丈夫って言うなら「,」だって同じことなんじゃないかと。
0704nobodyさん2006/07/03(月) 19:38:34ID:???
>>703
<> は <> にすればいいし、 , は ? だっけ?忘れた。
個人的な好みじゃないか?
0705nobodyさん2006/07/03(月) 19:39:54ID:???
<> は &lt;&gt; にすればいいし、 , は &#44; だっけ?忘れた。
個人的な好みじゃないか?
0706nobodyさん2006/07/03(月) 19:41:41ID:???
>>704
テキストをデリミタにすると、結局はエンドユーザが入力し得るものなんだから
どうでも好きにすればいいんじゃないってこと。
自分なら \t かバイナリにするけどね。\t でも入力し得るから注意ね。
0707nobodyさん2006/07/03(月) 19:46:01ID:???
>699
ディレクトリのパーミッションを777にしたらできました!!
ありがとうございます!

>700
実行時のパスが分かるんですね。これも丁度知りたかった事です。
ありがとうございます!
0708nobodyさん2006/07/03(月) 19:48:22ID:???
>>707
えぇ!?
/ にファイルを作成出来ていることから、パーミッションの問題じゃないと思っていたんだが…
0709nobodyさん2006/07/03(月) 20:01:57ID:???
>>701
DB使えば?
ファイルにこだわるならTABとか改ページとかのコントロールコード系とか。
0710nobodyさん2006/07/03(月) 20:04:20ID:???
>>705
メールデータとかのログも&lt;なんて変換かけてんの?
あ、掲示板くらいしか作ったことないしょぼプログラマでしたか、失礼。
0711nobodyさん2006/07/03(月) 20:07:49ID:???
くだらない煽りなんてしてないで、好きな文字に変えればいいじゃないか。
0712nobodyさん2006/07/03(月) 20:08:30ID:???
>>710
なんでそんな攻撃的な物言いするの?
PHP+PostgreSQLのシステムを官公庁に納めたことあるよ。
0713nobodyさん2006/07/03(月) 20:09:00ID:???
>>709
じゃあ区切り文字は「\t」にして、ユーザが入力する TAB は、

trim($str, "\t")

で桶かな。
0714nobodyさん2006/07/03(月) 20:10:01ID:???
あ、>>713 は >>701です。
0715nobodyさん2006/07/03(月) 20:11:27ID:???
$moji = "abc";
という変数の「後ろ」に文字列を追加するには「.=」だから簡単です。
$moji .= "def"; //この時点で$mojiには「abcdef」が入っている)

でも、変数の「先頭」に文字列を追加するのに簡単な方法ってありますでしょうか?
つまり$mojiに「defabc」と入ってる状態にしたいのですが・・・。
今はわざわざ、
$moji2 = "def";
$moji = $moji2.$moji;
などと連結しています。
0716nobodyさん2006/07/03(月) 20:13:04ID:???
>>712
2ちゃんでキモヲタの捨てゼリフにいちいちマジレスカコワルイ。
キモヲタは放っておけ。
0717nobodyさん2006/07/03(月) 21:17:36ID:???
>>715
$moji = "def" . $moji;
じゃあかんの?
0718nobodyさん2006/07/03(月) 21:20:22ID:???
>708
phpファイルの置いているフォルダのパーミッションを775から
777にしたらファイルが作成できました。
/のパーミッションも調べてみようとしましたがどうやって見るのか
分からないので、つっ込んだことはわからないままですが・・・
ともあれ疑問は解決できました。
これからもちょくちょく質問すると思うのでそのときはお手ほどき
ください。
0719nobodyさん2006/07/03(月) 22:11:39ID:???
>>696
遅くなったけどありがとう。
有効桁がそれ程大きくないので整数化がよさそうですね。

>>692
例が適切ではなかったも。スマソ
0720nobodyさん2006/07/03(月) 23:33:57ID:???
>>681=>>684=>>689=>>719か
質問者ならageろカス、誰が誰だか分からんだろうが。

正確な実数値の比較がしたけりゃ、これ使え
http://jp.php.net/manual/ja/function.bccomp.php

>>683にも書いたがマニュアルに浮動小数点数の扱いの注意については書いてある。
http://jp2.php.net/manual/ja/language.types.float.php

>> よって、小数の最後の桁を信用してはいけませんし、 小数が等しいという比較を行ってはいけません。
                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> より高い精度が必要な場合には、 任意精度数学関数(bcmath)または gmp 関数を代わりに使用してください。
                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

要するに、マニュアル嫁ボケナスってことだ
0721nobodyさん2006/07/04(火) 00:19:41ID:???
>>717
お前頭悪いだろ。
0722nobodyさん2006/07/04(火) 00:27:21ID:???
俺も>>717以外の方法が思いつかんのだが・・・
0723nobodyさん2006/07/04(火) 00:37:21ID:???
>>694
数学曲線
http://r0000.tm.land.to/math/
0724nobodyさん2006/07/04(火) 00:54:12ID:???
>>722
お前頭悪いだろ。
0725nobodyさん2006/07/04(火) 01:14:14ID:???
$moji .= "def";
って
$moji = $moji . "def";
じゃないの?
0726nobodyさん2006/07/04(火) 01:33:19ID:???
php初めて一年目くらい。ひとまず、自分で考えられる程度のものは一通り作れるようになった(動いてるというだけですが)くらいのレベルです。
一般的な話を聞きたいのですが

html部分はごっそりヒアドキュメントにして、それより前に分岐処理とか自作関数で生成した変数を
<input type='text' name='hoge' value='{$hoge}'>
ってな感じで埋め込んでる感じなんですが


ヒアドキュメントにしないで、
<input type='text' name='hoge' value='<?php echo $hoge; ?>'>

って書き方とどっちが正しいのでしょうか?
後者のほうの書き方は流れは分かりやすいけど、なんだかごちゃごちゃしてどうも好きになれないんですが。
0727nobodyさん2006/07/04(火) 01:35:21ID:???
<?=$hoge?>
0728nobodyさん2006/07/04(火) 01:36:02ID:???
>>725
そうだよ。だから?
0729nobodyさん2006/07/04(火) 01:42:19ID:???
>>726
両方試して処理時間や負荷の差を教えてくれたらとってもうれしい。
07307262006/07/04(火) 02:00:44ID:???
>>727
あ、省略形の書き方ですね。
>>729
1000くらいとかループさせてみたんですが、少なくともブラウザのレンダリングされるという体感的な時間は変わらないみたいです。
前者の方が見やすいのは間違いないとは思うんだけど。
0731nobodyさん2006/07/04(火) 02:02:25ID:???
俺は外部に書き出してincludeしてるよ
そっちのほうが見やすい
0732nobodyさん2006/07/04(火) 02:03:46ID:???
チャットで退室するんじゃなくって、ブラウザを閉じるとサーバーに変数が送られるようにするにはどうすればいいですか?
0733nobodyさん2006/07/04(火) 02:05:58ID:???
JSでも使っとけ
0734nobodyさん2006/07/04(火) 02:39:57ID:???
<?php echo $hoge; ?>
<? echo $hoge; ?>
<?=$hoge?>

これの差を教えてください。
0735nobodyさん2006/07/04(火) 02:48:58ID:???
お前の心に聞いてみろ!
0736nobodyさん2006/07/04(火) 03:10:27ID:???
返事がありませんでした。教えてください。
困ってるんです!!(><)
0737nobodyさん2006/07/04(火) 03:25:46ID:???
"あいうえお" から "あ" があるとTRUE

これを、"あいうえお" から "あ"または"う" があるとTRUE

という風にはできませんか?
0738nobodyさん2006/07/04(火) 03:28:01ID:???
>>736
どの質問だよ?
0739nobodyさん2006/07/04(火) 03:28:39ID:???
>>737
> "あいうえお" から "あ" があるとTRUE
まずこれをどういう風に書いてるのか示せ。話はそれからだ。
0740nobodyさん2006/07/04(火) 03:32:07ID:???
>>739
$str = "あいうえお";
if(strstr($str,"あ")){
  echo "TRUE";
}
0741nobodyさん2006/07/04(火) 03:45:09ID:???
$str = "あいうえお";
if(strstr($str,"あ")||strstr($str,"う")){
  echo "TRUE";
}
0742nobodyさん2006/07/04(火) 03:56:47ID:???
>>741
arrayを使った感じでできないのでしょうか
0743nobodyさん2006/07/04(火) 04:13:20ID:???
まず条件を全て提示しやがれですわ
0744nobodyさん2006/07/04(火) 04:15:20ID:???
発言文字から、
array(バカアホ死ねだの悪口)

の文字が入っている場合にTRUEを返したい
0745nobodyさん2006/07/04(火) 04:56:16ID:???
>>734
下2つは設定によっては使えない

・・・だけだな。動作は同じだが
0746nobodyさん2006/07/04(火) 05:21:47ID:???
>>744
あぼーんされてて見えないからレスアンカーしてみる
あまり変な事書くなよ

これで単なる煽りとかだったら凹むぜ
0747nobodyさん2006/07/04(火) 05:21:52ID:???
>>720
質問者はそんなこと承知の上で聞いていると思うが?
わざわざ蒸し返すな。
お前のレスはなんの解決にも結びつかないんだから。
07487462006/07/04(火) 05:22:30ID:???
('A`)アサッパラカラコレカヨ
0749nobodyさん2006/07/04(火) 05:34:06ID:???
まだぜんぜん夜中じゃんw海外在住ですか?(笑)
0750nobodyさん2006/07/04(火) 05:45:32ID:???
>>745

        ∧_∧
        ( ><) < ありがとう
 ‐=≡t─‐/ヽ、_つ) __s)
‐=≡(ニニ(  ) /\\-.\
 ‐=≡( (ニ:( /悲| (O)T
 ‐=≡ヽ、__,ノ ̄  ヽ、_,ノ


ちなみにマニュアルで言うとどのへんでしょうか?
0751nobodyさん2006/07/04(火) 05:46:34ID:???
>>742
配列ならforeachでいいじゃbn
0752nobodyさん2006/07/04(火) 05:55:40ID:???
>>750
ここらへん呼んで見れ
http://www.php.net/manual/ja/language.basic-syntax.php
0753nobodyさん2006/07/04(火) 05:57:55ID:???
>>742
$needle = array("あ", "う");
foreach($needle as $nd) {
if(strpos($str, $nd) !== FALSE) {
echo "TRUE";
}
}
ってことかいな?
0754nobodyさん2006/07/04(火) 06:31:57ID:???
>>752

 またちょっとだけ賢くなりました。
   , - ,----、
  (U(    ) 
  | |∨T∨
  (__)_)
0755nobodyさん2006/07/04(火) 08:40:59ID:???
>>720
>>696
0756nobodyさん2006/07/04(火) 08:45:47ID:C7rNd6pP
フォームのアクションをgetにすると
$_GET変数に値が入りますが
$_GETの値をURLに戻す関数ってありますか?
0757nobodyさん2006/07/04(火) 08:53:11ID:???
>>756
v5以降でならある。あとはマニュアル嫁
0758nobodyさん2006/07/04(火) 09:16:10ID:???
>>756
つ http_build_query

>>757
関数くらい示してあげようよ。
0759nobodyさん2006/07/04(火) 09:49:36ID:???
>>758
>>6
0760nobodyさん2006/07/04(火) 10:33:15ID:???
foreachって使い方や使う場面がよく分からないので、
今まで一度も使ったこと無い・・・・orz

使わなくても困ったことないし・・・
でももしかしたら知らないうちに無駄な苦労してるのかも。。。
0761nobodyさん2006/07/04(火) 10:46:32ID:???
漏れは逆に何でもforeachで回しちゃうな
使用頻度で言えば、foreach>while>for
0762nobodyさん2006/07/04(火) 10:58:47ID:???
Perlの時は foreach を愛用してたけど、
PHPでは for もそこそこ使ってるな。

たとえば Perlでは、

foreach (0..5){
echo $_;
}
という感じのパターンは便利だった。
0763nobodyさん2006/07/04(火) 11:06:09ID:???
使い方覚えるとforeachは凄い便利。
多次元配列なんかの場合だとかなりスッキリするし。
俺はループ処理はforeachかwhile。
forは殆ど使わなくなった。
0764nobodyさん2006/07/04(火) 11:17:50ID:???
>>763
同じく。

配列の初期化とかもarray_pad使うようになってforを使うことは
めったに無くなった。
0765nobodyさん2006/07/04(火) 11:23:16ID:???
PHP4の場合、配列を中身を書き換えるようなことをしようとすると
foreach だとめんどうなので for を使うね
0766nobodyさん2006/07/04(火) 11:37:05ID:???
>>765
ん?久しくPHP4使ってないし環境無いんで試せないけど

foreach ($hoge as $key => $vl) {
  $hoge[$key] = $vl * 100;
}

見たいな書き方できないんだっけ?
0767nobodyさん2006/07/04(火) 11:37:32ID:???
事前にとっておいた別の配列とあわせてごにょごにょするときは$iが必要になるけどforeachの中でforを使ってやると、入れ子のsqlをたったの2回で実現出来る。
最近のお気に入りの技
0768nobodyさん2006/07/04(火) 11:42:49ID:???
>>766
その書き方で問題ない

foreach ($hoge as $vl) {
$vl = $vl * 100;
}
これは無理だけど
0769nobodyさん2006/07/04(火) 11:47:22ID:???
ところで、藻前ら、webアプリ作る時特に指定がない場合はフロントコントローラー型で作りますか?ばらばらで作りますか?
0770nobodyさん2006/07/04(火) 11:48:14ID:???
>>768
うーん個人的には後々混乱しそうだから、そんな書き方できなくてもいいやw
0771nobodyさん2006/07/04(火) 11:52:04ID:???
for ($i = 1; $i < 50; $i++){
  $list[$i] = $int * $i + 3;
}
みたいなときは for がいいと思うよ。
0772nobodyさん2006/07/04(火) 11:59:59ID:???
>>769
今採用しているフレームワークはフロントコントローラ型ですな。
0773nobodyさん2006/07/04(火) 12:12:16ID:???
foreachは全く使わない、
whileも限られた場面だけ、
95%以上をforで処理してる俺って、いったい・・・・

だってforeach、使い方が理解できないんだもん。。。
0774nobodyさん2006/07/04(火) 12:25:58ID:???
>>773
PHPではforeachが非常に高機能だから使い分けが出来ると強い。
0775nobodyさん2006/07/04(火) 12:36:49ID:???
>>774
$hoge as $key =>
↑もうこの時点で意味が分からないorz

これをどのように、どんな場面で便利に使えるのか、サッパリ分からない・・・
俺ってアホだ。。。
0776nobodyさん2006/07/04(火) 12:38:26ID:???
foreach(配列 as 値の一時変数)
foreach(配列 as 添え字の一時変数 => 値の一時変数)
0777nobodyさん2006/07/04(火) 12:38:31ID:???
日付のデータを整形しようとしてこうしたんだが、Use of undefined constant mday - assumed
のエラーがどしても消えん、変数の取り扱い方が悪い?

$today = getdate();
$str_mon = strlen("$today[mon]");
$str_day = strlen("$today[mday]");
if($str_mon == 1) { $today[mon] = "0"."$today[mon]";};
if($str_day == 1) { $today[mday] = "0"."$today[mday]";};
0778nobodyさん2006/07/04(火) 12:39:45ID:???
>>777
$today[mon] → $today['mon']
0779nobodyさん2006/07/04(火) 12:40:22ID:???
>>777
連想配列の添え字はクォートで括れ
0780nobodyさん2006/07/04(火) 12:42:37ID:???
>>778 >>779
ありがとう!
0781nobodyさん2006/07/04(火) 12:43:43ID:???
つか、変数だけなのにダブルクォートで括るなよ。気持ち悪いし無駄。
0782nobodyさん2006/07/04(火) 12:44:55ID:???
>>775
そういう時はマニュアルに載ってる例題を見るのがいいよ。

ttp://jp2.php.net/manual/ja/control-structures.foreach.php
0783nobodyさん2006/07/04(火) 12:48:09ID:???
>>781 THX 涼しくなしました!

$today = getdate();
$str_mon = strlen($today['mon']);
$str_day = strlen($today['mday']);
if($str_mon == 1) { $today['mon'] = "0".$today['mon'];};
if($str_day == 1) { $today['mday'] = "0".$today['mday'];};
0784nobodyさん2006/07/04(火) 12:50:41ID:???
>>783
sprintf使うとスッキリしますよ
■ このスレッドは過去ログ倉庫に格納されています