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

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

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

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

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

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

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

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
0320nobodyさん2009/02/06(金) 14:45:05ID:???
>>319
そんなクラスの一般論なら、クラスでググればいいだけだろ。
うざいからほどほどにしてくれ。

「デザパタの前に実装してPHPのくせを先に学ぶのを先にした方がいい」
って私見ぐらいは語ってもいいけど、デザインパターンが通じない開発者の方が少数派だろ。
0321nobodyさん2009/02/06(金) 14:46:21ID:iuyfFTeY
いまのPHP三大フレームワークは以下のものと認識してもよろしいでしょうか?
cakePHP
シンフォニー
zendフレームワーク
0322nobodyさん2009/02/06(金) 14:47:30ID:???
=>フレームワークスレ いけ
0323nobodyさん2009/02/06(金) 14:48:16ID:???
>>320
おいトリップつけるかIDだせ
0324nobodyさん2009/02/06(金) 14:51:16ID:???
CI
yii Framework
0325nobodyさん2009/02/06(金) 14:51:50ID:???
>>323
なんで?
0326nobodyさん2009/02/06(金) 14:53:22ID:???
JavaはPHPより難しい

2日で諦めた

俺低脳だし
0327nobodyさん2009/02/06(金) 14:54:40ID:???
PHPを諦めたの?それとも人生?
0328nobodyさん2009/02/06(金) 14:58:32ID:???
>>327
人生とかお前馬鹿?
03293272009/02/06(金) 14:59:27ID:???
はい 馬鹿です^^
0330nobodyさん2009/02/06(金) 15:00:31ID:???
ここにいる人
きもっ〜>_<
0331nobodyさん2009/02/06(金) 15:01:30ID:???
何むしゃくしゃしてるの?悔しいの?
0332nobodyさん2009/02/06(金) 15:02:39ID:???
くだらんケンカはよそでやれ
0333nobodyさん2009/02/06(金) 15:15:36ID:???
[PHP]IDを出さずにくだらないケンカをするスレ[質問]
0334nobodyさん2009/02/06(金) 15:18:21ID:???
自演で長文投下してるやつ、キモイな
0335nobodyさん2009/02/06(金) 15:36:20ID:???
キモ
0336nobodyさん2009/02/06(金) 18:02:25ID:Iyeu5pU3
pearでこれは覚えろっていうパッケージを教えてください
0337nobodyさん2009/02/06(金) 18:17:50ID:???
ない
0338nobodyさん2009/02/06(金) 18:31:35ID:???
>質問スレで運悪く、ろくな答えもよこさないくせに態度のでかいヘボ回答者
>にあたってしまったが、他への心象を気にして強く出れなかったお方

ロクな回答者に絡まれると大変ね
0339nobodyさん2009/02/06(金) 21:36:43ID:???
ロクな回答者に絡まれたら良いじゃん
0340nobodyさん2009/02/06(金) 21:41:21ID:???
つうか、ここで質問してまともな回答を期待する方が、頭オカシイだろ
腐った回答でも、それ全部食っていいのをチョイスできる勇者だけが生き残る
0341nobodyさん2009/02/06(金) 21:44:01ID:???
助けてもらって当然、与えてもらって当然、他人に右往左往してもらって当然、って考えてる子が多い
0342nobodyさん2009/02/06(金) 21:59:23ID:???
そんなこと言っててもエサを投げればすぐ食いついてくるくせに( ´∀`)σ)Д`)
0343nobodyさん2009/02/06(金) 22:31:27ID:???
XREAスレが静かになったと思ったらこっちでファビョってたのかqqq
0344nobodyさん2009/02/06(金) 23:05:54ID:???
このての分野ってキモイ人間多いよな
0345nobodyさん2009/02/06(金) 23:06:38ID:???
お前が一番だから心配すんな
0346nobodyさん2009/02/06(金) 23:13:40ID:???
キモイ人間てすぐ反応するよね
典型的に態度に出るからフイタわ
0347nobodyさん2009/02/06(金) 23:14:08ID:???
お前が一番そうだから心配すんな
0348nobodyさん2009/02/06(金) 23:14:18ID:???
キモイ人間にとって、このスレは快適なのさ
0349nobodyさん2009/02/06(金) 23:14:20ID:???
キモヲタに「キモイ」って言うと
ものすごい反応するよね。
0350nobodyさん2009/02/06(金) 23:14:41ID:???
お前が一番そうだから心配すんな
0351nobodyさん2009/02/06(金) 23:15:06ID:???
344 :nobodyさん:2009/02/06(金) 23:05:54 ID:???
このての分野ってキモイ人間多いよな

345 :nobodyさん:2009/02/06(金) 23:06:38 ID:???
お前が一番だから心配すんな

346 :nobodyさん:2009/02/06(金) 23:13:40 ID:???
キモイ人間てすぐ反応するよね
典型的に態度に出るからフイタわ

347 :nobodyさん:2009/02/06(金) 23:14:08 ID:???
お前が一番そうだから心配すんな

348 :nobodyさん:2009/02/06(金) 23:14:18 ID:???
キモイ人間にとって、このスレは快適なのさ

349 :nobodyさん:2009/02/06(金) 23:14:20 ID:???
キモヲタに「キモイ」って言うと
ものすごい反応するよね。

350 :nobodyさん:2009/02/06(金) 23:14:41 ID:???
お前が一番そうだから心配すんな
0352nobodyさん2009/02/06(金) 23:16:00ID:???
344の必死さにワロタw
0353nobodyさん2009/02/06(金) 23:16:46ID:???
>>345
>>347
>>350
反応早すぎw
0354nobodyさん2009/02/06(金) 23:17:36ID:???
この流れをみれば必死なのは反応の早い彼だと思うがあえてスルーしとこう
0355nobodyさん2009/02/06(金) 23:17:41ID:???
いつもの基地外君はさっさと潰しとかんと迷惑だからなぁ
0356nobodyさん2009/02/06(金) 23:19:16ID:???
>>354
きめぇw
0357nobodyさん2009/02/06(金) 23:19:16ID:???
>>355
2ちゃんねるは自己紹介をする場所ではないのです。。。
0358nobodyさん2009/02/06(金) 23:20:43ID:???
>>358
キモイ
0359nobodyさん2009/02/06(金) 23:21:43ID:???
お前が一番そうだから心配すんな
0360nobodyさん2009/02/07(土) 01:04:26ID:???
PHP→Javaはベース→ギターに似てるな。逆は割と簡単
03612662009/02/07(土) 01:21:58ID:nwjNO9JF
先日はお世話になりました。性懲りもなく本日もかなりのくだ質ですが、ちょっと
行き詰まり気味なのでお願いします。

00.htmlの内容
<html><head>
<script language="JavaScript" type="text/javascript">
<!--
function send (url){
document.form_orz.action=url;
document.form_orz.submit();}
//--></script></head>
<body>
<form name="form_orz" action="./01.php" method="GET"><td>
<input type="text" name="xxx">
<input type="submit" value="送信x">
<input type="text" name="yyy">
<input type="button" value="送信y" onClick="send('./02.php')"></td>
</form></body></html>

01.phpの内容
<?php
$xxx=$_REQUEST["xxx"];
echo "値は$xxx です";
?>

02.phpの内容
<?php
$yyy=$_REQUEST["yyy"];
echo "値は$yyy です";
?>
03622662009/02/07(土) 01:22:41ID:nwjNO9JF
つづき

同じform内では複数のsubmitを使うのはちょっとコツが要るっぽいので
ぐぐってあちこちを調べた結果、javascriptを使ってこのように書きました。
結果としては普通に動きますけど"送信y"をクリックした時に別窓で結果の値を
表示させたいのです。そこでjavascriptのwindow.openなるものを知りまして
00.htmlの<script>〜に次のように書きました。(>>361で書いたものは//で消して追記しました)

window.open(url);
document.form_orz.target = "yyy";
document.form_orz.method = "post";
document.form_orz.action = "url";
document.form_orz.submit();

これだと確かに新しく別窓が開くのですが「値は です」という表示でうまく受け渡しが
出来ていない様子です・・・。このように別窓で結果の値を表示させるようにするには
どのようにすれば良いでしょう?多分、window.open周りだと思うので本来ならばこのスレ
ではなくてjavaのくだ質スレが見つからなかったのでこちらに書かせて頂きました。
0363nobodyさん2009/02/07(土) 01:35:26ID:???
window.open(url, "yyy");

targetの"yyy"とウインドウの識別名を一致させないとダメ
0364nobodyさん2009/02/07(土) 01:40:39ID:???
>>360
http://www.youtube.com/watch?v=FSqajRdtTMA
0365nobodyさん2009/02/07(土) 01:42:25ID:???
というか、どう考えてもPHPの話題じゃねえだろ。
0366nobodyさん2009/02/07(土) 11:32:12ID:???
今年中にはPHP覚えまくって稼ぎまくろうかと思う
0367nobodyさん2009/02/07(土) 11:55:18ID:???
11ヶ月もかけるのか・・・
0368nobodyさん2009/02/07(土) 22:21:56ID:???
PHPで情報サイトを作ろうと思います。
さあ大変だ
0369nobodyさん2009/02/07(土) 22:35:07ID:???
 しかし、ある一握りの子達は、大変指導に時間と手間がか
かりました。彼らは「なぜ」という問いを持つことを面倒がり、
早く答えの出せる技術だけにこだわり続ける子供達だったか
らです。決まった解き方に当てはめて、早く答えを出すこと。
「じゃあ、なんでこれで答えが出るんだい?。君はどういう考え
方をしてこの式を立てたの」と、正解の並んだ算数の文章題
のプリントを前に聞き返すと、彼らはみんなとても嫌な顔をし
たり、あるいは質問の意味が分からないと言うようにきょとん
としたものです。
0370nobodyさん2009/02/08(日) 00:48:59ID:???
営業中
0371nobodyさん2009/02/08(日) 01:17:06ID:DxNfF4Ma
$html = '<strong>{$text}</strong>}';

と言うように変数の中に文字列で変数が入っているとします。
$textの箇所に文字を入れて太字にしたいので

$text = "あああ";
echo $html;

としたのですが、反映されません。
どのようにして変数内の変数に値を渡すことが出来るのでしょうか?
0372nobodyさん2009/02/08(日) 01:20:16ID:???
$html = "<strong>{$text}</strong>";
0373nobodyさん2009/02/08(日) 01:22:02ID:???
さて、原因はどっちでしょう

@$htmlの宣言の時点で$textの中身が空っぽだから
A$html宣言のときに「"」じゃなく「'」で囲ってるから
03743712009/02/08(日) 01:24:19ID:DxNfF4Ma
>>372-373
'にしないと文字列として変数が扱われないのではないですか?

Smartyの簡易版のようなことがしたくて、
タグやファイルを変数で読み込んで、その中の{$test}と言う箇所に
予め指定していた値を渡したいのです。
str_replaceなどで置換すれば出来ますが、ちょっとやり方が違うような気がして・・・
0375nobodyさん2009/02/08(日) 01:29:23ID:???
>>374
試してから言えカス
0376nobodyさん2009/02/08(日) 01:30:03ID:???
>374
無理。プログラムは上から順に実行されるから、
$html = "<strong>{$text}</strong>}";
と書いたら、その時点での$textの中身が反映されて$htmlに入る。
(シングルクォートはダメでダブルクォートが正解な。これはマニュアル読んで来い)
つまり、

$text = 'うんこ';
$html = "<strong>{$text}</strong>";
$text = 'ぬるぽ';
echo $html;

だと、<strong>ぬるぽ</strong>が出力されてガッされる。
03773712009/02/08(日) 01:30:08ID:DxNfF4Ma
もちろん試しました
が、中身は消えます
03783762009/02/08(日) 01:31:08ID:???
何を大嘘書いてるんだ俺は。
うんこが出力されてガッされない、が正解。
0379nobodyさん2009/02/08(日) 01:36:23ID:???
>>374
自分でテンプレエンジンも作れない雑魚レベルなら素直にsmarty使え
0380nobodyさん2009/02/08(日) 02:43:12ID:???
>>371
eval() や include() を使って評価する

function replace($template, array $params = array()) {
    extract($params);
    return eval('return "' . preg_replace('/"/', '\\\\"', $template) . '";');
}

echo replace('私は{$name}です。', array('name' => '371'));
0381nobodyさん2009/02/08(日) 11:20:52ID:DarObAIw
定義したhello関数を$testに格納して、呼び出したいところでecho $testを書いたのですが
$test = hello();の時点で出力されてしまいます
hello関数を$testに格納して、自分が呼び出したいところで使うにはどうしたらよろしいでしょうか?

function hello() {
return "<p>こんにちは</p>";
}


$test = hello();

#このあたりに別の処理をおいてます

echo $test;
0382nobodyさん2009/02/08(日) 11:23:54ID:???
>>381
それはない。
helloでreturnしないでechoしてんじゃないの?
0383nobodyさん2009/02/08(日) 12:37:30ID:???
>>381
もしくは勘違い。html見てみるがよろし
0384nobodyさん2009/02/08(日) 12:43:55ID:WhrhZbLr
秒数を、
"時間:分数:秒数"
のフォーマットにしたいのですが、そういう関数があれば教えて下さい
0385nobodyさん2009/02/08(日) 12:50:59ID:???
>>382

どういうこと?381のreturnをechoにすると$test=hello();が実行されるの?
echo $testしないと出力されるわけないじゃん
0386nobodyさん2009/02/08(日) 12:51:42ID:???
>>384
string date ( string $format [, int $timestamp ] )
0387nobodyさん2009/02/08(日) 12:56:50ID:???
>>385
>>381のソースならhello()の段階で出力されたりしない。
出力されてるとしたらfunction hello のコードか、
もしくは別の場所が間違ってるという風にエスパーした
0388nobodyさん2009/02/08(日) 15:04:52ID:???
>>385
お前は何を言ってんだ?
0389nobodyさん2009/02/08(日) 15:26:32ID:???
function hello(){echo"こんにちは"}
#ここまではなにも表示されない
$hensu=hello(); #ここで表示される
echo $hensu; #ここも表示される

あれ?なんで?
変数に関数を格納しただけで関数って実行されたっけ?
0390nobodyさん2009/02/08(日) 15:29:48ID:???
>>389
>>1
0391nobodyさん2009/02/08(日) 15:46:17ID:mhFiPpin
>>389
別の言語を知っているのをひけらかすために下らない質問をするっていうのも
このスレの趣旨にはあってるのかもな。

まさに、下らない
0392nobodyさん2009/02/08(日) 16:14:38ID:???
cなら格納しただけで実行はされないのにPHPってクソだな
0393nobodyさん2009/02/08(日) 16:23:49ID:???
0394nobodyさん2009/02/08(日) 16:24:30ID:???
echoしてくれたほうがいい
0395nobodyさん2009/02/08(日) 16:26:32ID:???
普通関数内でechoしても関数を実行されない限りは動かないはずなのにな
関数を変数に格納するだけで動作するとか変な仕様だな
0396nobodyさん2009/02/08(日) 16:30:31ID:???
配列の最後の添字を得たいのですが、簡単な方法ありますでしょうか?
自分なりに考えてみたのですが、回りくどいような気がするので

$i=1;
foreach($icarr as $key => $val)
{
  $hai[$i]=$key;
  $i++;
}
echo $hai[$i-1];
0397nobodyさん2009/02/08(日) 16:32:14ID:???
てか、変数にしなくても、
hello();
だけで表示されるくね
0398nobodyさん2009/02/08(日) 16:33:12ID:???
>>395
$x = hello();
PHPではこれは実行なんだよ。
$x = function hello() {}
なら、格納だが。
0399nobodyさん2009/02/08(日) 16:42:39ID:???
Cでカスだったやつは、PHPに来てもカスだな
0400nobodyさん2009/02/08(日) 16:47:42ID:F6PnIVyb
変数$a,$b〜$zまであって、
とりあえず、初期値を$a = 0,$b=0,・・・$z=0 にしたいんですけど
できる限りすっきり書く方法ってありますか?
あれば掲示おねがいします
0401nobodyさん2009/02/08(日) 16:59:07ID:???
PHPの言語は何の言語で作られてますか?
0402nobodyさん2009/02/08(日) 17:03:37ID:???
0403nobodyさん2009/02/08(日) 17:05:00ID:???
>>401

phpの72%は勢いで出来ています
phpの17%は波動で出来ています
phpの6%は言葉で出来ています
phpの3%は理論で出来ています
phpの2%は成功の鍵で出来ています
0404nobodyさん2009/02/08(日) 17:05:45ID:???
[php] 攻撃:89 素早さ:21 防御:77 命中:86 運:45 HP:139
[c] 攻撃:36 素早さ:29 防御:59 命中:13 運:95 HP:223

php vs c 戦闘開始!!
[c]の攻撃 MISS [php]は攻撃を回避した。
[php]の攻撃 HIT [c]は120のダメージを受けた。
[c]の攻撃 HIT [php]は1のダメージを受けた。
[php]の攻撃 HIT [c]は92のダメージを受けた。
[c]の攻撃 MISS [php]は攻撃を回避した。
[php]の攻撃 HIT [c]は128のダメージを受けた。
[php]が[c]を倒しました(ラウンド数:3)。
0405nobodyさん2009/02/08(日) 17:08:43ID:???
>>396
end
array_pop
0406nobodyさん2009/02/08(日) 17:17:02ID:???
>>400
$a = $b = $c = $d = $e = $f = 0;
0407nobodyさん2009/02/08(日) 17:41:19ID:???
>>400
無理やりやってみた
foreach (get_defined_vars() as $varName => $varValue) {
if (ctype_lower($varName)) $$varName = 0;
}

というか初めから $var['a'] $var['b'] $var['c'] という風に
連想配列でやった方がいいんじゃないの?
0408nobodyさん2009/02/08(日) 18:37:59ID:???
>395
クロージャを格納するのと関数の実行結果を格納するのは別の操作だ。JavaScriptで言うと
var hoge = hogeFunc();
var hoge = hogeFunc;
Cで言えば、関数ポインタを渡すのと関数の戻り値を渡す事の違い。

>400
for($loop=ord('a'); $loop <= ord('z'); $loop++){
${chr($loop)} = 0;
}
うっかりループ変数に$iを使っちまったぜ…9番目の変数が$iなのを忘れていた。

まとめて初期化したいという事は、何らかのかかわりを持った変数群だろうから、配列にしておく事をお勧めする。
変数名に意味を持たせるのは地獄の始まりだしな。そもそも、この処理(可変変数)は禁呪に近い。地獄への直行便だ。
$aが実は「アルファベットaの登場頻度」とかだったとしても、俺なら連想配列を使う。
変数をその後どう使うつもりか、ちょっとだけ話してみ?誰かがもう少しマシなデータ構造を考えてくれると思うぞ。
04094082009/02/08(日) 18:45:37ID:???
ちなみに
for($loop='a'; $loop <= 'z'; $loop++){
$$loop = 0;
}
も動く。どうせ黒魔術ならこれでもいいかもな。
0410nobodyさん2009/02/08(日) 19:01:39ID:???
$$loopの$が2つつくのってどういう意味ですか?
0411nobodyさん2009/02/08(日) 19:43:49ID:???
>408でも触れたが、可変変数(Variable variables)という名前からしてもう頭のおかしい言語仕様。
ttp://jp2.php.net/manual/ja/language.variables.variable.php
こいつを使いたくなる時の99%は、設計が悪い時。残りの1%はわざと分かりにくいコードを書こうとする時。

パッと見>409のコードはスッキリしてるだろ?
この後のコードが死ぬほどカオスになる。デバッグの難易度も跳ね上がるし、コード解析の類も殆ど効かなくなる。
自分で書いておいてなんだが、こんなコードを書く奴がチームにいたら何とかして転属させる。
0412nobodyさん2009/02/08(日) 19:46:02ID:???
じゃそんなの教えんなよ
0413nobodyさん2009/02/08(日) 20:05:59ID:???
仕様で語りたいんなら、言語仕様の闘技場でもいってくれ。
いくらブログを呼んでもらえないからって、こんなところで、下らない持論を
ひけらかさなくてもいいだろ。
みんなわかってて使ってるんだ。

たとえば、JavaScriptだって、関数言語ライクにかっこいいコーディングもできれば
グローバル使いまくりで糞なプログラムだって書ける。
要は使う奴のセンスの問題。気に入らない言語仕様があるなら使わなきゃいいだけ
0414nobodyさん2009/02/08(日) 20:47:00ID:???
PHPがどうこうという問題ではなく、可変変数の類がタブー視されていない言語なんぞそうそう存在しないと思うが。
(その割に、類似機能を実装してる言語は多いけどな)
ActiveRecordパターンとかSimpleXMLみたいな動的に構造が変わるものを実装しようとした場合には便利だが、基本的に悪手だろ。
「$a - $zまでを初期化したい」なんていうのは、>407-408で既出の通り、そもそも質問が(質問が前提としているデータ構造が)おかしい。
0415nobodyさん2009/02/08(日) 20:47:53ID:???
わからないから使ったことない俺の立場も考えて教えてくれよ!
0416nobodyさん2009/02/08(日) 21:15:49ID:???
いらっしゃいませ
いっぱい echoしていってね!
0417nobodyさん2009/02/08(日) 21:24:27ID:???
初心者だからってバカにするなよ!!!!!
04183962009/02/08(日) 23:48:11ID:lPL/MCOf
>>405
両方とも要素が出てしまって、添字が出てきません
0419nobodyさん2009/02/08(日) 23:51:15ID:???
array_keysかければいいじゃん
■ このスレッドは過去ログ倉庫に格納されています