09/02/06 23:19:16
>>355
2ちゃんねるは自己紹介をする場所ではないのです。。。
358:nobodyさん
09/02/06 23:20:43
>>358
キモイ
359:nobodyさん
09/02/06 23:21:43
お前が一番そうだから心配すんな
360:nobodyさん
09/02/07 01:04:26
PHP→Javaはベース→ギターに似てるな。逆は割と簡単
361:266
09/02/07 01:21:58 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 です";
?>
362:266
09/02/07 01:22:41 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のくだ質スレが見つからなかったのでこちらに書かせて頂きました。
363:nobodyさん
09/02/07 01:35:26
window.open(url, "yyy");
targetの"yyy"とウインドウの識別名を一致させないとダメ
364:nobodyさん
09/02/07 01:40:39
>>360
URLリンク(www.youtube.com)
365:nobodyさん
09/02/07 01:42:25
というか、どう考えてもPHPの話題じゃねえだろ。
366:nobodyさん
09/02/07 11:32:12
今年中にはPHP覚えまくって稼ぎまくろうかと思う
367:nobodyさん
09/02/07 11:55:18
11ヶ月もかけるのか・・・
368:nobodyさん
09/02/07 22:21:56
PHPで情報サイトを作ろうと思います。
さあ大変だ
369:nobodyさん
09/02/07 22:35:07
しかし、ある一握りの子達は、大変指導に時間と手間がか
かりました。彼らは「なぜ」という問いを持つことを面倒がり、
早く答えの出せる技術だけにこだわり続ける子供達だったか
らです。決まった解き方に当てはめて、早く答えを出すこと。
「じゃあ、なんでこれで答えが出るんだい?。君はどういう考え
方をしてこの式を立てたの」と、正解の並んだ算数の文章題
のプリントを前に聞き返すと、彼らはみんなとても嫌な顔をし
たり、あるいは質問の意味が分からないと言うようにきょとん
としたものです。
370:nobodyさん
09/02/08 00:48:59
営業中
371:nobodyさん
09/02/08 01:17:06 DxNfF4Ma
$html = '<strong>{$text}</strong>}';
と言うように変数の中に文字列で変数が入っているとします。
$textの箇所に文字を入れて太字にしたいので
$text = "あああ";
echo $html;
としたのですが、反映されません。
どのようにして変数内の変数に値を渡すことが出来るのでしょうか?
372:nobodyさん
09/02/08 01:20:16
$html = "<strong>{$text}</strong>";
373:nobodyさん
09/02/08 01:22:02
さて、原因はどっちでしょう
①$htmlの宣言の時点で$textの中身が空っぽだから
②$html宣言のときに「"」じゃなく「'」で囲ってるから
374:371
09/02/08 01:24:19 DxNfF4Ma
>>372-373
'にしないと文字列として変数が扱われないのではないですか?
Smartyの簡易版のようなことがしたくて、
タグやファイルを変数で読み込んで、その中の{$test}と言う箇所に
予め指定していた値を渡したいのです。
str_replaceなどで置換すれば出来ますが、ちょっとやり方が違うような気がして・・・
375:nobodyさん
09/02/08 01:29:23
>>374
試してから言えカス
376:nobodyさん
09/02/08 01:30:03
>374
無理。プログラムは上から順に実行されるから、
$html = "<strong>{$text}</strong>}";
と書いたら、その時点での$textの中身が反映されて$htmlに入る。
(シングルクォートはダメでダブルクォートが正解な。これはマニュアル読んで来い)
つまり、
$text = 'うんこ';
$html = "<strong>{$text}</strong>";
$text = 'ぬるぽ';
echo $html;
だと、<strong>ぬるぽ</strong>が出力されてガッされる。
377:371
09/02/08 01:30:08 DxNfF4Ma
もちろん試しました
が、中身は消えます
378:376
09/02/08 01:31:08
何を大嘘書いてるんだ俺は。
うんこが出力されてガッされない、が正解。
379:nobodyさん
09/02/08 01:36:23
>>374
自分でテンプレエンジンも作れない雑魚レベルなら素直にsmarty使え
380:nobodyさん
09/02/08 02:43:12
>>371
eval() や include() を使って評価する
function replace($template, array $params = array()) {
extract($params);
return eval('return "' . preg_replace('/"/', '\\\\"', $template) . '";');
}
echo replace('私は{$name}です。', array('name' => '371'));
381:nobodyさん
09/02/08 11:20:52 DarObAIw
定義したhello関数を$testに格納して、呼び出したいところでecho $testを書いたのですが
$test = hello();の時点で出力されてしまいます
hello関数を$testに格納して、自分が呼び出したいところで使うにはどうしたらよろしいでしょうか?
function hello() {
return "<p>こんにちは</p>";
}
$test = hello();
#このあたりに別の処理をおいてます
echo $test;
382:nobodyさん
09/02/08 11:23:54
>>381
それはない。
helloでreturnしないでechoしてんじゃないの?
383:nobodyさん
09/02/08 12:37:30
>>381
もしくは勘違い。html見てみるがよろし
384:nobodyさん
09/02/08 12:43:55 WhrhZbLr
秒数を、
"時間:分数:秒数"
のフォーマットにしたいのですが、そういう関数があれば教えて下さい
385:nobodyさん
09/02/08 12:50:59
>>382
どういうこと?381のreturnをechoにすると$test=hello();が実行されるの?
echo $testしないと出力されるわけないじゃん
386:nobodyさん
09/02/08 12:51:42
>>384
string date ( string $format [, int $timestamp ] )
387:nobodyさん
09/02/08 12:56:50
>>385
>>381のソースならhello()の段階で出力されたりしない。
出力されてるとしたらfunction hello のコードか、
もしくは別の場所が間違ってるという風にエスパーした
388:nobodyさん
09/02/08 15:04:52
>>385
お前は何を言ってんだ?
389:nobodyさん
09/02/08 15:26:32
function hello(){echo"こんにちは"}
#ここまではなにも表示されない
$hensu=hello(); #ここで表示される
echo $hensu; #ここも表示される
あれ?なんで?
変数に関数を格納しただけで関数って実行されたっけ?
390:nobodyさん
09/02/08 15:29:48
>>389
>>1
391:nobodyさん
09/02/08 15:46:17 mhFiPpin
>>389
別の言語を知っているのをひけらかすために下らない質問をするっていうのも
このスレの趣旨にはあってるのかもな。
まさに、下らない
392:nobodyさん
09/02/08 16:14:38
cなら格納しただけで実行はされないのにPHPってクソだな
393:nobodyさん
09/02/08 16:23:49
w
394:nobodyさん
09/02/08 16:24:30
echoしてくれたほうがいい
395:nobodyさん
09/02/08 16:26:32
普通関数内でechoしても関数を実行されない限りは動かないはずなのにな
関数を変数に格納するだけで動作するとか変な仕様だな
396:nobodyさん
09/02/08 16:30:31
配列の最後の添字を得たいのですが、簡単な方法ありますでしょうか?
自分なりに考えてみたのですが、回りくどいような気がするので
$i=1;
foreach($icarr as $key => $val)
{
$hai[$i]=$key;
$i++;
}
echo $hai[$i-1];
397:nobodyさん
09/02/08 16:32:14
てか、変数にしなくても、
hello();
だけで表示されるくね
398:nobodyさん
09/02/08 16:33:12
>>395
$x = hello();
PHPではこれは実行なんだよ。
$x = function hello() {}
なら、格納だが。
399:nobodyさん
09/02/08 16:42:39
Cでカスだったやつは、PHPに来てもカスだな
400:nobodyさん
09/02/08 16:47:42 F6PnIVyb
変数$a,$b~$zまであって、
とりあえず、初期値を$a = 0,$b=0,・・・$z=0 にしたいんですけど
できる限りすっきり書く方法ってありますか?
あれば掲示おねがいします
401:nobodyさん
09/02/08 16:59:07
PHPの言語は何の言語で作られてますか?
402:nobodyさん
09/02/08 17:03:37
愛
403:nobodyさん
09/02/08 17:05:00
>>401
phpの72%は勢いで出来ています
phpの17%は波動で出来ています
phpの6%は言葉で出来ています
phpの3%は理論で出来ています
phpの2%は成功の鍵で出来ています
404:nobodyさん
09/02/08 17:05:45
[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)。
405:nobodyさん
09/02/08 17:08:43
>>396
end
array_pop
406:nobodyさん
09/02/08 17:17:02
>>400
$a = $b = $c = $d = $e = $f = 0;
407:nobodyさん
09/02/08 17:41:19
>>400
無理やりやってみた
foreach (get_defined_vars() as $varName => $varValue) {
if (ctype_lower($varName)) $$varName = 0;
}
というか初めから $var['a'] $var['b'] $var['c'] という風に
連想配列でやった方がいいんじゃないの?
408:nobodyさん
09/02/08 18:37:59
>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の登場頻度」とかだったとしても、俺なら連想配列を使う。
変数をその後どう使うつもりか、ちょっとだけ話してみ?誰かがもう少しマシなデータ構造を考えてくれると思うぞ。
409:408
09/02/08 18:45:37
ちなみに
for($loop='a'; $loop <= 'z'; $loop++){
$$loop = 0;
}
も動く。どうせ黒魔術ならこれでもいいかもな。
410:nobodyさん
09/02/08 19:01:39
$$loopの$が2つつくのってどういう意味ですか?
411:nobodyさん
09/02/08 19:43:49
>408でも触れたが、可変変数(Variable variables)という名前からしてもう頭のおかしい言語仕様。
URLリンク(jp2.php.net)
こいつを使いたくなる時の99%は、設計が悪い時。残りの1%はわざと分かりにくいコードを書こうとする時。
パッと見>409のコードはスッキリしてるだろ?
この後のコードが死ぬほどカオスになる。デバッグの難易度も跳ね上がるし、コード解析の類も殆ど効かなくなる。
自分で書いておいてなんだが、こんなコードを書く奴がチームにいたら何とかして転属させる。
412:nobodyさん
09/02/08 19:46:02
じゃそんなの教えんなよ
413:nobodyさん
09/02/08 20:05:59
仕様で語りたいんなら、言語仕様の闘技場でもいってくれ。
いくらブログを呼んでもらえないからって、こんなところで、下らない持論を
ひけらかさなくてもいいだろ。
みんなわかってて使ってるんだ。
たとえば、JavaScriptだって、関数言語ライクにかっこいいコーディングもできれば
グローバル使いまくりで糞なプログラムだって書ける。
要は使う奴のセンスの問題。気に入らない言語仕様があるなら使わなきゃいいだけ
414:nobodyさん
09/02/08 20:47:00
PHPがどうこうという問題ではなく、可変変数の類がタブー視されていない言語なんぞそうそう存在しないと思うが。
(その割に、類似機能を実装してる言語は多いけどな)
ActiveRecordパターンとかSimpleXMLみたいな動的に構造が変わるものを実装しようとした場合には便利だが、基本的に悪手だろ。
「$a - $zまでを初期化したい」なんていうのは、>407-408で既出の通り、そもそも質問が(質問が前提としているデータ構造が)おかしい。
415:nobodyさん
09/02/08 20:47:53
わからないから使ったことない俺の立場も考えて教えてくれよ!
416:nobodyさん
09/02/08 21:15:49
いらっしゃいませ
いっぱい echoしていってね!
417:nobodyさん
09/02/08 21:24:27
初心者だからってバカにするなよ!!!!!
418:396
09/02/08 23:48:11 lPL/MCOf
>>405
両方とも要素が出てしまって、添字が出てきません
419:nobodyさん
09/02/08 23:51:15
array_keysかければいいじゃん
420:nobodyさん
09/02/08 23:51:19
count
421:nobodyさん
09/02/08 23:59:29
$array = array('yahoo' => 'www.yahoo.com', '2ch' => 'www.2ch.net', 'google' => 'www.google.com');
$keys = array_keys($array);
echo $keys[count($keys)-1]; // 'google'
422:nobodyさん
09/02/09 01:00:26 3WrJzpwr
$aに含まれる連想配列の数は不定です。
この$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;
423:nobodyさん
09/02/09 01:06:58 FohDFk4k
【OS名】Windows XP Pro x64
【PHPのバージョン】php5.2.6
【連携ソフトウェア】EXCEL
【質問内容】
PHPからEXCELファイルをCOM経由で操作したいのですが、
何か良いマニュアルもしくはサンプルはありませんでしょうか?
424:nobodyさん
09/02/09 02:35:15
>>422
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 {
}
}
425:nobodyさん
09/02/09 02:37:33
>>423
php excelで検索すれば、いっぱい引っかかるから、良さそうなの適当につまんでみて
426:nobodyさん
09/02/09 03:00:22 1doMXVgO
セキュリティのことでお聞きしたいんですが (板違いならすいません
test.php?num=○○ というのがあって
○○にSQL文をうたれる場合があるんですよね?
○○は整数なので、is_numericを使えば完璧ですか?
427:nobodyさん
09/02/09 03:12:12
ctype_digit()のがベター
428:nobodyさん
09/02/09 03:18:07
いや適切にエスケープすりゃ整数だの数値だのどうのと考える必要ないだろ
429:nobodyさん
09/02/09 11:06:59
>>424
なんかスマートじゃないなあ
430:nobodyさん
09/02/09 11:14:24
じゃどんなのがスマートなんだ
431:nobodyさん
09/02/09 11:21:54
php5ならarray_intersect_ukey使えばおk
432:nobodyさん
09/02/09 11:27:14
>>424
新しいバージョンとか明示しといて新しい技術が使われてない件
433:nobodyさん
09/02/09 11:53:59 3Lbj9zQQ
配列のキーと要素をarray_walkでくっつけたいのですが
うまく動作しません
どなたかアドバイスお願いします
$ary=array("a"=>"001","b"=>"002","c"=>"003);
function test($value,$key) {
$s= $key.$value;
}
$a = array_walk($ary,"test"));
echo $a;
434:nobodyさん
09/02/09 12:05:26 zB3vQynG
phpで簡単に日付計算してくれる関数ないの?
mysqlみたいにintervalみたいなやつあったら便利なのに
435:nobodyさん
09/02/09 12:12:51
shitsumonnha gutaitekini
436:nobodyさん
09/02/09 12:13:53
>>433
return
>>434
あるじゃん
437:nobodyさん
09/02/09 12:17:00
>>433
すまんreturnはarray_mapだった
array_walkは第一引数を参照で指定みたいね
438:nobodyさん
09/02/09 12:36:49 zB3vQynG
>>436
strtotimeでできたわ
㌧クス
439:nobodyさん
09/02/09 12:55:30 3Lbj9zQQ
ありがとうございます
値を引き継げないのでarray_walkは諦めます
440:nobodyさん
09/02/09 13:05:40
>>439
ヒント:要素に要素とキーをくっ付けて入れて戻して連結
441:nobodyさん
09/02/09 13:09:54
>>440
久々に、本物のヒントを見た。
442:nobodyさん
09/02/09 13:16:13
>>440-441
同一人物乙
443:nobodyさん
09/02/09 16:48:36 7eq/MQEm
mb_substitute_character()で何も指定しない状態で
echoすると設定されているものが表示されるとマニュアルに
あるのですが、実際にechoすると63という数字が
表示され、これがいったい何を意味してるのか分りません
63の意味と他にはどんなものが用意されているのか
知りたいので関連したページでも結構です教えてください
444:nobodyさん
09/02/09 16:51:17 9eTCLU3p
分からんから教えて
hoge.incというファイルに<?php ?> でくくらないfunctionを入れて別のファイルから呼び出して
evalでPHPにして使いたいんだけど
includeと組み合わせてできないの?
eval(include("hoge.inc"));ってやってみたけどそのままソースが表示された。
<?php ?>でくくればいいだけの話なんだけど、evalも使ってみたいと思って。
外部ファイルと組み合わせる時、evalってどうやって使えばいいの?教えてYO!
445:nobodyさん
09/02/09 16:59:56
>>443
無効な場合にcが出るということでは?よく分かんないけど
>>444
スレリンク(php板)
446:nobodyさん
09/02/09 17:02:55
>>444
returnして変数にいれるか、obで取得
447:nobodyさん
09/02/09 17:09:51
file_get_contentsで十分だろ
448:nobodyさん
09/02/09 17:14:04
>>446
そんなの嫌。もっと簡単な方法教えれ。
449:nobodyさん
09/02/09 17:17:12 9eTCLU3p
>>447
お前天才。一発解決だわ。
あとさー、file_get_contentsでwikipediaのソースを取得したいんだけど
なぜか403になるんだよ。なんで?
他のサイトはソースが取得できるのにwikipediaだけは無理なの。
なんで?
450:nobodyさん
09/02/09 17:32:15
>>444
evalなんて使うな!シネカス
451:nobodyさん
09/02/09 17:38:31
>>450
damare kono chimpo yarou