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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2007/07/27(金) 16:32:46ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 50
http://pc11.2ch.net/test/read.cgi/php/1184143801/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0357nobodyさん2007/08/02(木) 17:55:58ID:???
え?
0358nobodyさん2007/08/02(木) 18:00:47ID:???
>>356
print $_SERVER['REQUEST_METHOD'];
ぐらいやってから質問してください。
0359nobodyさん2007/08/02(木) 18:15:48ID:YI4RuKYl
>>358
""で囲まなくてもうごくんですよ。どちらが正しいのかわからないんです
0360nobodyさん2007/08/02(木) 18:17:13ID:???
意味がわかんない
0361nobodyさん2007/08/02(木) 18:18:23ID:YI4RuKYl
フォームからPOSTで送信されたか条件判断するコードです。
0362nobodyさん2007/08/02(木) 18:18:47ID:???
ヒント:var_dump($_SERVER["REQUEST_METHOD"]);
0363nobodyさん2007/08/02(木) 18:20:25ID:???
1は数字ですよね
"1"は文字列型数値ですよね
"POST"で囲めば文字列ですよね
POSTの場合だとどうなるのかわからなくて。

条件判断で===を使ってるのにPOSTでも"POST"でも動作するのがわからないんです。すみません
0364nobodyさん2007/08/02(木) 18:21:21ID:YI4RuKYl
>>362さんのおかげで解決できました。
ありがとうございました。
0365nobodyさん2007/08/02(木) 18:23:04ID:???
>>364
分かっているかもしれないが
http://www.php.net/manual/ja/types.comparisons.php
も見ておくといいかも。
0366nobodyさん2007/08/02(木) 18:26:20ID:YI4RuKYl
>>365
ああああ、やっぱそうなると===でどちらも正しく動くのはおかしかったですよね。
なんでどっちも動いたんだろう(@@;)
0367nobodyさん2007/08/02(木) 18:35:46ID:???
>>366
""でくくらない POST は定数と考えるのがphp的な定義だと思うけど。
そもそも、それで動くのか。
定数で該当するものが無ければ、文字列として扱ってくれるのかな・・。

var_dump(POST);
ってやるとどうなるんだろう。

とにかく文字列として扱いたいなら、""は必須。
0368nobodyさん2007/08/02(木) 18:38:26ID:???
>>367
定数て当てはまらなかったら文字列なはず
<?=TEST?>
で「TEST」と表示されるのと同じでは?
0369nobodyさん2007/08/02(木) 18:43:25ID:???
>>368
やっぱりそうなんだありがとう。
でも、確実に処理するためには""はあったほうがいいだろうね。
複数人のプロジェクトとかで定数をどっかで宣言されるって事もあるだろうし。
0370nobodyさん2007/08/02(木) 19:06:10ID:???
何をそんなわかりきったことを言ってんの?
0371nobodyさん2007/08/02(木) 19:10:48ID:???
あったほうがいいじゃなくてないとダメだろう
E_NOTICEだろ
0372nobodyさん2007/08/02(木) 19:12:54ID:???
というかその妙な仕様は明らかにバグの温床になる
0373nobodyさん2007/08/02(木) 19:21:41ID:???
要するにウンコって事か
0374nobodyさん2007/08/02(木) 20:15:13ID:???
なにかくだ質じゃなくて高尚な場所だと勘違いされてらっしゃるお偉い方がいるみたいですね
0375nobodyさん2007/08/02(木) 20:35:29ID:???
>>374
高尚に感じるのは、お前が低俗だからだろ
0376nobodyさん2007/08/02(木) 21:51:55ID:???
初級者は2chで叩かれて当然。2chに何求めてるの?w
0377nobodyさん2007/08/02(木) 22:00:42ID:???
餓鬼が見るような板じゃないんだし、低レベルな煽りあいは不要。
みんなクールに頼むよ。
0378nobodyさん2007/08/02(木) 22:14:01ID:???
じゃあ、俺は、ギムレットを頼む
0379nobodyさん2007/08/02(木) 22:45:45ID:???
このスレって妙にキムチ臭いんだよ。
妙にたどたどしい日本語書いたり、レス内容を丸ごと勘違いしたり、たまに発狂したり。
0380nobodyさん2007/08/02(木) 22:56:21ID:???
夏厨が湧いてるだけだろ
0381nobodyさん2007/08/02(木) 22:57:57ID:???
>>379
韓国人を悪いおかしく思います.
0382nobodyさん2007/08/02(木) 23:00:15ID:???
夏になってスレが伸びるようになった。ま、過疎るよりはいーんじゃない。
03833272007/08/03(金) 00:47:18ID:???
>>330
どうもありがとうございました(T▽T) 
>>299
荒らしじゃないですっ!マジで困ってました;;
0384nobodyさん2007/08/03(金) 03:10:51ID:???
>>367
ってことはユーザー関数でtrueが返ってきたきたときの条件判断は
if (????? === "true")ってちゃんと""としなきゃだめなんだね
0385nobodyさん2007/08/03(金) 03:15:17ID:???
>>384
はぁ?
0386nobodyさん2007/08/03(金) 03:22:02ID:???
>>385
また振り出しにもどりたいのか?
0387nobodyさん2007/08/03(金) 03:26:02ID:???
>>384
>>365を見たほうがいい

っていうか
?????
ってなんだ?????
0388nobodyさん2007/08/03(金) 03:28:08ID:???
兄貴!!このスレそろそろ本気で潰しにかかりますか?
0389nobodyさん2007/08/03(金) 03:29:45ID:???
>>388
やっておしまいっっ
0390nobodyさん2007/08/03(金) 03:44:29ID:???
おまえはアホか?>>366をもういちどみろ
0391nobodyさん2007/08/03(金) 06:05:00ID:???
>>384
バーカバーカ
0392nobodyさん2007/08/03(金) 06:33:12ID:???
まぁまぁ、そう熱くならずに、自分のおならの臭いを嗅いでエクスタシー感じようよ。
0393nobodyさん2007/08/03(金) 10:37:55ID:JeGw1lzo
すいません、質問ですが、

今共有サーバーでPHPのCMS2つ稼動させたいのですが、
この共有サーバーはデータベースが一つしか割り当てられません。

ヘッドが違えばいくつものCMSをいとつのデータベース(MySQL)で共有させることは可能なのでしょうか?
もちろん遅くなるとはおもうのですが・・・

0394nobodyさん2007/08/03(金) 10:51:47ID:???
>>393
それはPHPの質問では無いかと・・。
テーブル名がかぶったりしなきゃ動くかもしれないけど、全くオススメ出来ないと思う。
0395nobodyさん2007/08/03(金) 11:01:06ID:???
>>384
型を理解しないままphpやってもわからないままだとおもうので
逆にjavaやcをちょっとやってみたらどうかな
0396nobodyさん2007/08/03(金) 11:03:31ID:???
>>394
やっぱりなにかしらの障害があるんですね。
ケチらずにいくしかないかな・・・

0397nobodyさん2007/08/03(金) 11:41:46ID:???
すいません、質問です。。

???? ??? ????? ????? ??? ?? ??????
0398nobodyさん2007/08/03(金) 11:47:29ID:???
>>397
>?????
この部分の「?」←これを「?」←これに変えてみたら動くと思います
0399nobodyさん2007/08/03(金) 12:12:53ID:gCv41M7L
>>337 >>338 >>343
遅レスだが。
2ちゃんねらーは国語力が弱いので、この機会に少し日本語を勉強しよう!

>すいません、思いっきりググったら載ってました。

本人は、「思いっきり」を「ググったら」ではなく、「載ってました」に掛けて
いるつもりだが、この文法では「ググったら」に掛かってしまう。
(なので>>343の解説は×)

>>337の正しい日本語は、

>すいません、ググったら思いっきり載ってました。

になる。
phpみたいな簡単な言語を扱えるプログラマーなんて沢山います。(ほとんどが無能)
しかし日本語やコミュニケーション能力に長けた人は少ないです。(コミュニケーションがやたら上手い無能も多い)
この機会に自分の日本語を見つめなおしましょう。(英語ができれば更に貴重です)
0400nobodyさん2007/08/03(金) 12:25:50ID:???
>>399
常識的に考えて
「思いっきりググったら載ってました」
を見たら
「思いっきり載ってた」んだな
と思うのが普通。
文法なんかより空気を理解できるようになろうぜ。
0401nobodyさん2007/08/03(金) 13:23:31ID:???
瑣末な紕繆に、殊更穢い字句を並べ立てて煽るのって、福島瑞穂そっくりだね。
0402nobodyさん2007/08/03(金) 14:32:37ID:???
>>400
おまえ仕事できないやつだろw
あいつだろw
あいつなんだろw
あいつしかいねぇよなwww
0403nobodyさん2007/08/03(金) 14:43:36ID:gCv41M7L
>>400
それを空気読むとは言わない。
それに、プロは空気で仕事しない。絶対に確認する。勘違いだったらどうするんだ?
それに>>399は文法がロジックとして間違ってる話をしている。空気読めてないのはお前。
0404nobodyさん2007/08/03(金) 14:46:26ID:gCv41M7L
>>401
瑣末と片付ける時点でプロに向いてない。
0405nobodyさん2007/08/03(金) 14:50:02ID:???
2chの発言でプロだとかお前等頭大丈夫か?
0406nobodyさん2007/08/03(金) 14:53:44ID:???
>>401
>>404
0407nobodyさん2007/08/03(金) 15:58:00ID:???
function定義の中で$aが真のときだけ処理したいっていう場合は

function test($a) {
 if ($a) {
  ここで処理
 }
}

function test($a) {
 if (!$a) return;
 ここで処理
}

上の二つどっちのほうがいい?
0408nobodyさん2007/08/03(金) 16:07:29ID:???
上の方が可視性は高いように思えるが。。。
0409nobodyさん2007/08/03(金) 16:12:14ID:???
可視性を高めて且つ戻り値が必要なら
function test($a) {
 if ($a) {
  $hoge = ここで処理
 }else{
  $hoge = false;
 }
 return $hoge;
}
の方がいいと思う
0410nobodyさん2007/08/03(金) 16:25:25ID:UDicn/s5
mysql_fetch_assocをwhileでループさせると
検索結果の上から順番に取得してきますが、
これを一番したから取得してくるような関数はありませんか?

53件中、日付が一番最新の5件を持ってきて表示させたいのですが、
表示するときに一番最新の日付を一番したになるように表示させたいのです。
0411nobodyさん2007/08/03(金) 16:58:43ID:???
>>409
それはみずらいな
0412nobodyさん2007/08/03(金) 17:00:47ID:???
>>410
しってる人がいるかな?むずかしそうだね。
らくにできる関数が見つかればいいんだが・・・
ねえ、一度取得したものをarray_reverseじゃだめなのかな?
え〜と、だれもこたえなかったらおれちょっと調べてくるけどね。
よろしくね。
04134102007/08/03(金) 17:02:42ID:UDicn/s5
>>412
ありがとうございます。
一度配列に格納してarray_popでwhileループしているのが現状です・・・。
検索結果をしたから取得する関数があれば便利なんですけどねぇ・・・orz

自分ももう一度調べてきます
0414nobodyさん2007/08/03(金) 17:19:03ID:???
マニュアルとか全然調べてないんだけど、
PHPスクリプトの処理速度を測る関数とかって存在する?
0415nobodyさん2007/08/03(金) 17:22:15ID:???
あるわけねえだろタコ!
abかjava制のメジャーなのがあるからそれでもつかってろよ
0416nobodyさん2007/08/03(金) 17:23:52ID:???
残念
それなら自分で作るからjavaは遠慮しときます
0417nobodyさん2007/08/03(金) 17:45:10ID:???
>>413
それってSQLの ORDER BY を使えない理由はあるの?
0418nobodyさん2007/08/03(金) 18:03:14ID:???
>>416
自分でつくるの?なにで?
PHPで?(笑)
0419nobodyさん2007/08/03(金) 18:10:40ID:???
>>418
むずかしくないだろ
0420nobodyさん2007/08/03(金) 18:38:55ID:???
オリジナル言語作ってそれで組むんじゃね?
0421nobodyさん2007/08/03(金) 18:53:28ID:???
ベンチが取りたいんだろ?
microtime使えばいいだけじゃん
0422nobodyさん2007/08/03(金) 18:54:35ID:???
>ベンチ
>ベンチ
>ベンチ
0423nobodyさん2007/08/03(金) 18:54:56ID:???
>>410
SQLの範疇だからステートメントを
SELECT * FROM (SELECT * FROM "table" ORDER BY "date" DESC LIMIT 5) ORDER BY "date" ASC;
みたいな感じにすればいいと思うよ。
0424nobodyさん2007/08/03(金) 19:05:27ID:RjyFibPY
>>423
なんでそんなネストさせてるんだ
0425nobodyさん2007/08/03(金) 19:22:53ID:???
>>422
>>422
>>422
0426nobodyさん2007/08/03(金) 19:33:03ID:???
>>414
APDとかは?
http://jp.php.net/apd
0427nobodyさん2007/08/03(金) 21:09:56ID:DTQfj132
すみませんがどなたか知識をお借りしたいです


<?php

//変数の変更点
//$cnt カウンタの初期値
//$str 繰り返したい文字列
//$num 繰り返す回数
//$delim デリミタ[区切り文字]例=<br>尚、<br>はデフォルト値です

function req($cnt,$str,$num,$delim="<br>"){

for($cnt;$i<=$num;$i++){

$d=$str.$delim;

return $d;

}

}

print req(0,"ねこ",10);

で戻り値を返したいのですが、戻り値が帰ってきません。どこを変更したらよいかアドバイスいただけますか?
0428nobodyさん2007/08/03(金) 21:29:25ID:???
for文が・・・w
0429nobodyさん2007/08/03(金) 21:30:56ID:???
>>427
おまえにはアイが足りない
0430nobodyさん2007/08/03(金) 21:31:48ID:???
>>427
突っ込みどころが多すぎるからとりあえず想像で

function req($cnt,$strm$num,$relim ="<br>"){
$d = '';
for ($i=0;$i<=$num;$i +=$cnt)
$d .= $str.$delim;
return $d;
}
04314302007/08/03(金) 21:35:30ID:???
すまん、これがあったんだな

print req(0,"ねこ",10);

だとすると
for($i = $cnt;$i<=$num,$i++)
か・・・
0432nobodyさん2007/08/03(金) 21:39:08ID:???
>>427
function reQ($cnt, $num, $str, $delim = "<br>") {
$d = array();
for ($i = $cnt; $i <= $num; $i++) {
$d[$i] = $str.$delim."\n";
}
return $d;
}

こうか?
0433nobodyさん2007/08/03(金) 21:40:32ID:DTQfj132
すいません。ものすごくバかな質問をしていたのに今きがつきましたw

戻り値かえしたらそこで終わりですよね。

普通の変数と同じ感覚でつかってました
0434nobodyさん2007/08/03(金) 21:48:33ID:???
>>432
そうか$cntをわざわざ送る意味が見当たらなかったが
それならアリエール。
0435nobodyさん2007/08/03(金) 21:57:12ID:???
str_repeat()とかarray_fill()とか使った方が速いしスマート。
0436nobodyさん2007/08/04(土) 03:22:45ID:???
"a,b,c,1,a234"という文字列を
a
b,c
1,a234
というように分割したい(それぞれの文字数は不定)のですが
いろいろ考えたけど無理でした、アドバイスお願いします。
0437nobodyさん2007/08/04(土) 03:53:37ID:???
エスパーでも無理
0438nobodyさん2007/08/04(土) 04:10:01ID:???
何がしたいのか分からん
0439nobodyさん2007/08/04(土) 06:00:19ID:???
3段目が3つならまだ話がわかるんだが、
それじゃ何がしたいのか確かにサッパリだなw
0440nobodyさん2007/08/04(土) 07:00:08ID:???
>>436
explode(",", "a,b,c,1,a234");
とすれば、配列で返ってくるから、あとはお好きなように。
0441nobodyさん2007/08/04(土) 07:07:54ID:AjkJINGy
a.txt
1
2
3

$a = file("a.txt");
array_push($a, 4);
print_r($a);

とすると、

Array
(
 [0] => 1

[1] => 2

[2] => 3
 [3] => 4
)

となるのですが、この[0]と[1]の間、[1]と[2]の間の空白(改行)は一体なんなんでしょう?
とてもきになるのですが、改行が入ってない場合と同じ意味でしょうか?
改行をとる方法もあれば教えていただきたいです。
0442nobodyさん2007/08/04(土) 07:12:21ID:???
>>440
ありがとうございます。うまくいきました。
で、あとaとbをカンマで再結合することは可能でしょうか??
0443nobodyさん2007/08/04(土) 08:00:01ID:???
>>442
implode(",",$data)でoK
0444nobodyさん2007/08/04(土) 08:09:23ID:???
>>441
file()は改行を区切りに配列を返すけど、改行コードは消さないんよ。
ファイルの改行コードが\nのみでPHP5の場合は
file('ふぁいるめー',FILE_IGNORE_NEW_LINES);
それ以外の場合は
array_map('rtrim',file('ふぁいるめー'));
そんな感じで。
04454412007/08/04(土) 08:19:44ID:AjkJINGy
>>444
わかりやすい説明どうもありがとうございます。
納得いたしました。
PHP5を使っているので、FILE_IGNORE_NEW_LINESで消します。
勉強になりました。ありがとうございました。
0446nobodyさん2007/08/04(土) 11:14:59ID:???
>>445
\rは削除してくれないようだからtrimの方がいいんじゃない
どうせWindows使ってるんだろ
0447nobodyさん2007/08/04(土) 11:41:32ID:0PEp3FTo
くだらない質問で申し訳ないんだが、PHPで
http://www.example.com/index.php
というTOPページから引数を渡して
http://www.example.com/index.php?action=form
みたいな感じでフォームを出したいんだけどどうすればいいんですかね?

参考URLかググる単語でもいいんで教えてください。
0448nobodyさん2007/08/04(土) 11:42:38ID:???
form タグのGETメソッドを使えばいい。
phpとは関係ないけど。
0449nobodyさん2007/08/04(土) 12:44:11ID:???
>>448
formタグでGETして$_GETで持ってくるのはわかるんですけど、
formタグだったらinputじゃないとvalueとnameを持ってこれないじゃないですか。
inputで作ったらtypeを通常のaタグみたいなリンクに出来ないよなぁと思うんですが・・・。
0450nobodyさん2007/08/04(土) 13:10:02ID:???
>>449
じゃあにAタグで「?action=form」を追加したら?
0451nobodyさん2007/08/04(土) 13:39:54ID:???
何がしたいのか分からん
PHPでindex.phpというページから引数を渡してindex.php?action=formのようにフォームを出したい
ページから引数を渡すという表現が意味不明
URLのようにフォームを出したいという表現が意味不明
0452nobodyさん2007/08/04(土) 13:42:50ID:???
>>450
その手があったかorz

解決しました。ありがとうございました。
0453nobodyさん2007/08/04(土) 13:43:50ID:???
>>451
自分の読解力がないのを棚にあげて、人の文章力にケチを付けるゆとり。
0454nobodyさん2007/08/04(土) 14:32:44ID:???
>>453
いや、俺も普通に意味わかんない
0455nobodyさん2007/08/04(土) 14:44:58ID:???
ちょい質問
include "../include/test.php";
これでエラー出るんだが・・・・。
includeする回数って別に制限とかないよね?
0456nobodyさん2007/08/04(土) 14:47:44ID:???
>>455
パスが間違っている。
パスのところに、点が二つ飛んでいる。
■ このスレッドは過去ログ倉庫に格納されています