【PHP】下らねぇ質問はID出して書き込みやがれ 80
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/02/01(日) 18:10:57ID:PdwQzQch過去スレ、関連スレ、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を表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
0362266
2009/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:???targetの"yyy"とウインドウの識別名を一致させないとダメ
0364nobodyさん
2009/02/07(土) 01:40:39ID:???http://www.youtube.com/watch?v=FSqajRdtTMA
0365nobodyさん
2009/02/07(土) 01:42:25ID:???0366nobodyさん
2009/02/07(土) 11:32:12ID:???0367nobodyさん
2009/02/07(土) 11:55:18ID:???0368nobodyさん
2009/02/07(土) 22:21:56ID:???さあ大変だ
0369nobodyさん
2009/02/07(土) 22:35:07ID:???かりました。彼らは「なぜ」という問いを持つことを面倒がり、
早く答えの出せる技術だけにこだわり続ける子供達だったか
らです。決まった解き方に当てはめて、早く答えを出すこと。
「じゃあ、なんでこれで答えが出るんだい?。君はどういう考え
方をしてこの式を立てたの」と、正解の並んだ算数の文章題
のプリントを前に聞き返すと、彼らはみんなとても嫌な顔をし
たり、あるいは質問の意味が分からないと言うようにきょとん
としたものです。
0370nobodyさん
2009/02/08(日) 00:48:59ID:???0371nobodyさん
2009/02/08(日) 01:17:06ID:DxNfF4Maと言うように変数の中に文字列で変数が入っているとします。
$textの箇所に文字を入れて太字にしたいので
$text = "あああ";
echo $html;
としたのですが、反映されません。
どのようにして変数内の変数に値を渡すことが出来るのでしょうか?
0372nobodyさん
2009/02/08(日) 01:20:16ID:???0373nobodyさん
2009/02/08(日) 01:22:02ID:???@$htmlの宣言の時点で$textの中身が空っぽだから
A$html宣言のときに「"」じゃなく「'」で囲ってるから
0374371
2009/02/08(日) 01:24:19ID:DxNfF4Ma'にしないと文字列として変数が扱われないのではないですか?
Smartyの簡易版のようなことがしたくて、
タグやファイルを変数で読み込んで、その中の{$test}と言う箇所に
予め指定していた値を渡したいのです。
str_replaceなどで置換すれば出来ますが、ちょっとやり方が違うような気がして・・・
0376nobodyさん
2009/02/08(日) 01:30:03ID:???無理。プログラムは上から順に実行されるから、
$html = "<strong>{$text}</strong>}";
と書いたら、その時点での$textの中身が反映されて$htmlに入る。
(シングルクォートはダメでダブルクォートが正解な。これはマニュアル読んで来い)
つまり、
$text = 'うんこ';
$html = "<strong>{$text}</strong>";
$text = 'ぬるぽ';
echo $html;
だと、<strong>ぬるぽ</strong>が出力されてガッされる。
0377371
2009/02/08(日) 01:30:08ID:DxNfF4Maが、中身は消えます
0378376
2009/02/08(日) 01:31:08ID:???うんこが出力されてガッされない、が正解。
0380nobodyさん
2009/02/08(日) 02:43:12ID:???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$test = hello();の時点で出力されてしまいます
hello関数を$testに格納して、自分が呼び出したいところで使うにはどうしたらよろしいでしょうか?
function hello() {
return "<p>こんにちは</p>";
}
$test = hello();
#このあたりに別の処理をおいてます
echo $test;
0384nobodyさん
2009/02/08(日) 12:43:55ID:WhrhZbLr"時間:分数:秒数"
のフォーマットにしたいのですが、そういう関数があれば教えて下さい
0385nobodyさん
2009/02/08(日) 12:50:59ID:???どういうこと?381のreturnをechoにすると$test=hello();が実行されるの?
echo $testしないと出力されるわけないじゃん
0387nobodyさん
2009/02/08(日) 12:56:50ID:???>>381のソースならhello()の段階で出力されたりしない。
出力されてるとしたらfunction hello のコードか、
もしくは別の場所が間違ってるという風にエスパーした
0389nobodyさん
2009/02/08(日) 15:26:32ID:???#ここまではなにも表示されない
$hensu=hello(); #ここで表示される
echo $hensu; #ここも表示される
あれ?なんで?
変数に関数を格納しただけで関数って実行されたっけ?
0391nobodyさん
2009/02/08(日) 15:46:17ID:mhFiPpin別の言語を知っているのをひけらかすために下らない質問をするっていうのも
このスレの趣旨にはあってるのかもな。
まさに、下らない
0392nobodyさん
2009/02/08(日) 16:14:38ID:???0393nobodyさん
2009/02/08(日) 16:23:49ID:???0394nobodyさん
2009/02/08(日) 16:24:30ID:???0395nobodyさん
2009/02/08(日) 16:26:32ID:???関数を変数に格納するだけで動作するとか変な仕様だな
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:???$x = hello();
PHPではこれは実行なんだよ。
$x = function hello() {}
なら、格納だが。
0399nobodyさん
2009/02/08(日) 16:42:39ID:???0400nobodyさん
2009/02/08(日) 16:47:42ID:F6PnIVybとりあえず、初期値を$a = 0,$b=0,・・・$z=0 にしたいんですけど
できる限りすっきり書く方法ってありますか?
あれば掲示おねがいします
0401nobodyさん
2009/02/08(日) 16:59:07ID:???0402nobodyさん
2009/02/08(日) 17:03:37ID:???0403nobodyさん
2009/02/08(日) 17:05:00ID:???phpの72%は勢いで出来ています
phpの17%は波動で出来ています
phpの6%は言葉で出来ています
phpの3%は理論で出来ています
phpの2%は成功の鍵で出来ています
0404nobodyさん
2009/02/08(日) 17:05:45ID:???[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)。
0407nobodyさん
2009/02/08(日) 17:41:19ID:???無理やりやってみた
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:???クロージャを格納するのと関数の実行結果を格納するのは別の操作だ。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の登場頻度」とかだったとしても、俺なら連想配列を使う。
変数をその後どう使うつもりか、ちょっとだけ話してみ?誰かがもう少しマシなデータ構造を考えてくれると思うぞ。
0409408
2009/02/08(日) 18:45:37ID:???for($loop='a'; $loop <= 'z'; $loop++){
$$loop = 0;
}
も動く。どうせ黒魔術ならこれでもいいかもな。
0410nobodyさん
2009/02/08(日) 19:01:39ID:???0411nobodyさん
2009/02/08(日) 19:43:49ID:???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:???(その割に、類似機能を実装してる言語は多いけどな)
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:???0418396
2009/02/08(日) 23:48:11ID:lPL/MCOf両方とも要素が出てしまって、添字が出てきません
0419nobodyさん
2009/02/08(日) 23:51:15ID:???0420nobodyさん
2009/02/08(日) 23:51:19ID:???0421nobodyさん
2009/02/08(日) 23:59:29ID:???$keys = array_keys($array);
echo $keys[count($keys)-1]; // 'google'
0422nobodyさん
2009/02/09(月) 01:00:26ID:3WrJzpwrこの$aのキーを元に、2つの配列に分けたいと思います
キーの先頭文字aとbを元に2つの配列に分けたいのですが
どなたかご教示お願いいたします
$a['a1']=1;
$a['b201']=2;
$a['b31']=2;
$a['a23']=0;
$a['b1']=2;
$a['a300']=1;
$a['b42']=1;
$a['b3']=2;
0423nobodyさん
2009/02/09(月) 01:06:58ID:FohDFk4k【PHPのバージョン】php5.2.6
【連携ソフトウェア】EXCEL
【質問内容】
PHPからEXCELファイルをCOM経由で操作したいのですが、
何か良いマニュアルもしくはサンプルはありませんでしょうか?
0424nobodyさん
2009/02/09(月) 02:35:15ID:???PHPのバージョンぐらいは提示しといた方がいいぞ
比較的新しいバージョンなら
$aa = array();
$ab = array();
foreach ($a as $key => $val) {
if ($key[0] = 'a') {
$aa[$key] = $val;
}
else if ($key[0] = 'b') {
$ab[$key] = $val;
}
else {
}
}
0426nobodyさん
2009/02/09(月) 03:00:22ID:1doMXVgOtest.php?num=○○ というのがあって
○○にSQL文をうたれる場合があるんですよね?
○○は整数なので、is_numericを使えば完璧ですか?
0427nobodyさん
2009/02/09(月) 03:12:12ID:???0428nobodyさん
2009/02/09(月) 03:18:07ID:???0430nobodyさん
2009/02/09(月) 11:14:24ID:???0431nobodyさん
2009/02/09(月) 11:21:54ID:???0433nobodyさん
2009/02/09(月) 11:53:59ID:3Lbj9zQQうまく動作しません
どなたかアドバイスお願いします
$ary=array("a"=>"001","b"=>"002","c"=>"003);
function test($value,$key) {
$s= $key.$value;
}
$a = array_walk($ary,"test"));
echo $a;
0434nobodyさん
2009/02/09(月) 12:05:26ID:zB3vQynGmysqlみたいにintervalみたいなやつあったら便利なのに
0435nobodyさん
2009/02/09(月) 12:12:51ID:???0438nobodyさん
2009/02/09(月) 12:36:49ID:zB3vQynGstrtotimeでできたわ
dクス
0439nobodyさん
2009/02/09(月) 12:55:30ID:3Lbj9zQQ値を引き継げないのでarray_walkは諦めます
0443nobodyさん
2009/02/09(月) 16:48:36ID:7eq/MQEmechoすると設定されているものが表示されるとマニュアルに
あるのですが、実際にechoすると63という数字が
表示され、これがいったい何を意味してるのか分りません
63の意味と他にはどんなものが用意されているのか
知りたいので関連したページでも結構です教えてください
0444nobodyさん
2009/02/09(月) 16:51:17ID:9eTCLU3phoge.incというファイルに<?php ?> でくくらないfunctionを入れて別のファイルから呼び出して
evalでPHPにして使いたいんだけど
includeと組み合わせてできないの?
eval(include("hoge.inc"));ってやってみたけどそのままソースが表示された。
<?php ?>でくくればいいだけの話なんだけど、evalも使ってみたいと思って。
外部ファイルと組み合わせる時、evalってどうやって使えばいいの?教えてYO!
0445nobodyさん
2009/02/09(月) 16:59:56ID:???無効な場合にcが出るということでは?よく分かんないけど
>>444
http://pc11.2ch.net/test/read.cgi/php/1158647441/
0447nobodyさん
2009/02/09(月) 17:09:51ID:???0449nobodyさん
2009/02/09(月) 17:17:12ID:9eTCLU3pお前天才。一発解決だわ。
あとさー、file_get_contentsでwikipediaのソースを取得したいんだけど
なぜか403になるんだよ。なんで?
他のサイトはソースが取得できるのにwikipediaだけは無理なの。
なんで?
0454nobodyさん
2009/02/09(月) 18:58:53ID:9eTCLU3p$URL = "http://ja.wikipedia.org/wiki/%E9%99%B0%E8%8C%8E";
if ($stream = fopen($URL, 'r')) {
$a = stream_get_contents($stream, -1);
fclose($stream);
}
print $a;
0455nobodyさん
2009/02/09(月) 19:06:59ID:???Hostヘッダ出さないとアクセス拒否る方式だったよ。。2chも同じ感じ
0456nobodyさん
2009/02/09(月) 19:15:51ID:9eTCLU3pじゃあどうすればいい?
こんなエラーでるんだけど
Warning: fopen(http://ja.wikipedia.org/wiki/manko) [function.fopen]: failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden in
0457nobodyさん
2009/02/09(月) 19:24:47ID:???こっちではそれで取って来れるな
0458nobodyさん
2009/02/09(月) 19:25:26ID:9eTCLU3p発見した!!
mankoの部分をURLエンコードした日本語にすると問題なくいける
%E5%B0%8F%E6%B3%89%E7%B4%94%E4%B8%80%E9%83%8E
アルファベットなら本来URLエンコードする必要ないのにな。
なんで?
教えれ!
0459nobodyさん
2009/02/09(月) 19:27:25ID:dUyWPnKHまったく画質が変わりません。
何をインストールすればいいのでしょう?
0460nobodyさん
2009/02/09(月) 19:33:49ID:???どうせ、アルファベットといってもスペースとかが入ってたんだろ?
■ このスレッドは過去ログ倉庫に格納されています