【PHP】下らねぇ質問はここに書き込みやがれpart10
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん
2005/09/25(日) 02:03:45ID:nLUfPXhDここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>970あたりが建てて下さい
・過去スレ
【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/
【PHP】くだらねぇ質問はここに書き込みやがれpart3
http://pc5.2ch.net/test/read.cgi/php/1107780435/
【PHP】くだらねぇ質問はここに書き込みやがれpart4
http://pc8.2ch.net/test/read.cgi/php/1110697712/
【PHP】くだらねぇ質問はここに書き込みやがれpart5
http://pc8.2ch.net/test/read.cgi/php/1114787573/
【PHP】くだらねぇ質問はここに書き込みやがれpart6
http://pc8.2ch.net/test/read.cgi/php/1117945031/
【PHP】くだらねぇ質問はここに書き込みやがれpart7
http://pc8.2ch.net/test/read.cgi/php/1121100429/
【PHP】くだらねぇ質問はここに書き込みやがれpart8
http://pc8.2ch.net/test/read.cgi/php/1123431535/
【PHP】くだらねぇ質問はここに書き込みやがれpart9
http://pc8.2ch.net/test/read.cgi/php/1125716012/
0852nobodyさん
2005/10/14(金) 10:44:09ID:???これに尽きる
0853nobodyさん
2005/10/14(金) 13:22:00ID:hq2CEuCn0854sage
2005/10/14(金) 13:22:54ID:/+ebJ9UKくだらなさすぎて、スルーされるかと思いました。
参考書も買ったのですが、少し理解力に欠けまして・・・
もう少しがんばってきます。
0855nobodyさん
2005/10/14(金) 13:35:54ID:???佐藤
佐藤
鈴木
佐藤
田中
佐藤
田中
と言う感じで書かれている中から同じ名前が3つ以上ある者を
変数に持ってくるにはどうすればいいんでしょうか?
ほんと初心者ですいません・・・
0856nobodyさん
2005/10/14(金) 13:51:01ID:???1) file でテキストファイルを読み込んで配列に展開
2) array_count_values で 1) の配列を元に配列データと出現回数の連想配列を作成
3) 2) の連想配列から出現回数 >=3 をチョイス
0857nobodyさん
2005/10/14(金) 15:42:30ID:???すいません、小一時間悩んだんですが出来ませんで、
3) 2) の連想配列から出現回数 >=3 をチョイス
の所を簡単に書いていただけないでしょうか?
0858nobodyさん
2005/10/14(金) 15:47:38ID:???0859856
2005/10/14(金) 16:16:18ID:???う〜ん、余計なお世話かもしれんが…
1)、 2) はまるまる答えを書いているようなもので、唯一 3) が
ロジック(と言うほどのものでもないけど)を考えるところだから、
ここを丸投げしなければならないのはプログラムを作る人としてはつらいかも。
3 回以上出現する名前が複数存在する場合を考慮して配列($achoices)に
格納した例が以下。絶対に複数存在しないのであれば、普通の変数でもいい。
<?php
$alines = file('test.txt');
$anames_counts = array_count_values($alines);
$achoices = array();
foreach ($anames_counts as $name => $count) {
if ($count >= 3) {
// echo "$name<br>"; //debug
$achoices[] = $name;
}
}
print_r($achoices);
?>
0860nobodyさん
2005/10/14(金) 16:31:00ID:???名前でソートしてforeach
3連続ヒットでピックアップ
でかいならwhileで一行ずつ読み
if (isset($count[$name])) $count[$name]++; else $count[$name]=1;
のように集計
もしくはDBに突っ込んで
SELECT name, COUNT(name) AS num FROM test GROUP BY name HAVING COUNT(name) > 2;
0862nobodyさん
2005/10/14(金) 16:39:51ID:???0863855
2005/10/14(金) 16:56:17ID:???一応配列にはしなかったんですが>>859と同じようにしたつもりなんですが
出力されませんでした。
で、>>859をコピーさせて頂いたんですがやはり出力しません・・・
$anames_counts = array_count_values($alines);
print_r($anames_counts);
だとちゃんと出てくるので何だかよく分からなくなってしまいました。(@_@;)
ご迷惑かけて申し訳ありませんです。
0864nobodyさん
2005/10/14(金) 17:06:12ID:???おそらくテキストファイルの方がおかしいんじゃない?
ちゃんと1行に1つの名前にしてる?
ファイルのパス間違えてない?
0865855
2005/10/14(金) 17:17:07ID:???新しくtest.txtで打ち直してやってみたんですが、
$anames_counts = array_count_values($alines);
print_r($anames_counts);
だと
Array ( [佐藤 ] => 4 [加藤 ] => 1 [山田 ] => 1 [飯田] => 1 )
で出るんですが、foreachの処理を入れるとやっぱり空白になっちゃいます
0867nobodyさん
2005/10/14(金) 17:23:52ID:???0868nobodyさん
2005/10/14(金) 17:25:17ID:???0869nobodyさん
2005/10/14(金) 17:26:41ID:???そのままコピペしたんだろ?全角スペースが入っちゃってるでしょ。
全角スペースを消せばOKだ
0872nobodyさん
2005/10/14(金) 17:31:42ID:???それ直したらちゃんと動いたよ.当たり前だけどww
0873nobodyさん
2005/10/14(金) 17:35:38ID:???可能でしょうか?
0874nobodyさん
2005/10/14(金) 17:38:22ID:???0875855
2005/10/14(金) 17:41:48ID:???えー、全くお察しの通りでこちらでも動きました。
本当にご迷惑おかけしましたm(_ _)m
ご親切にしてくれた方、有難うございました。
0876nobodyさん
2005/10/14(金) 18:18:00ID:???http://www.asial.co.jp/products/jpgraph/japanese.phpを参考に変更もしました。
フォントを呼び出すにはどうすればよいのでしょうか?当然ながら$graph->title->SetFont(FF_PMINCHO);ではなりませんでした。
<?php
require_once("jpgraph/jpgraph.php");
require_once("jpgraph/jpgraph_bar.php");
$objGrh = new Graph(450,250,"auto");
$objGrh->SetScale("textlin");
$objGrh->title->Set("bbb");
$objGrh->xaxis->title->Set("ccc");
$objGrh->xaxis->title->Set("テスト");
$data=array(array(500,100),array(400,200));
$objPlot[]=new BarPlot($data[0]);
$objPlot[]=new BarPlot($data[1]);
$objPlot[0]->SetLegend('AAA');
$objPlot[1]->SetLegend('BBB');
$objPlot[0]->SetFillColor('[email protected]');
$objPlot[1]->SetFillColor('[email protected]');
$objGbp=new GroupBarPlot($objPlot);
$objGbp->SetWidth(0.80);
$objGrh->Add($objGbp);
$objGrh->Stroke();
?>
0877876
2005/10/14(金) 18:40:29ID:???他のアルファベットの部分を日本語にしたいのです。
上の構文でもグラフは出力できますが、日本語の部分は文字化けしています。
0878nobodyさん
2005/10/14(金) 18:46:29ID:???当然ながら
jpgraphに渡される文字列がUTF-8になっていますよね?
0880nobodyさん
2005/10/14(金) 20:51:06ID:???ファイルの最初にどんどん挿入していく方法ってありますか?
たとえば
1
2
3
とあったときに4を一番上の行に追加して
4
1
2
3
としたいのですが。
0882nobodyさん
2005/10/14(金) 21:00:25ID:???0884nobodyさん
2005/10/14(金) 21:02:09ID:???0885nobodyさん
2005/10/14(金) 21:21:55ID:???0886nobodyさん
2005/10/14(金) 21:24:45ID:???俺の場合はDB使わずに、普通にファイル読み込んで、先頭の行に挿入するという方法が知りたいのです。
正規表現で ^ でリプレイスするというような方法しかないですか?
0887nobodyさん
2005/10/14(金) 21:29:56ID:???0888nobodyさん
2005/10/14(金) 21:39:17ID:87Z0VpJT同名で別の拡張子のファイルを消す良い方法はあるんでしょうか?
ちなみにこれ↓ではダメでした…。
$del_file_name='/usr/local/apache/htdocs/img/'."img_001".'.'."***";
unlink( $del_file_name );
0889nobodyさん
2005/10/14(金) 21:46:13ID:???ライブラリ使わないとなると、globとかでリスト作って一個ずつ消すしかなさそう
``でシェル呼べばそれで終わりだけどね
0890nobodyさん
2005/10/14(金) 21:56:45ID:???マニュアルに参考になるサンプルって結構あるよね。
unlink
To delete files using wildcards:
<?
function delfile($str)
{
foreach(glob($str) as $fn) {
unlink($fn);
}
}
?>
0891nobodyさん
2005/10/14(金) 22:01:11ID:???殆どのファイルシステムでファイルの書き込みは
良くてデータの追記ができるぐらいで、データ全体の置換が普通。
0893nobodyさん
2005/10/14(金) 22:06:54ID:???データ構造がわからんと何とも言えん。言えることは「DB使え」のみ
0895nobodyさん
2005/10/14(金) 22:25:33ID:???0897nobodyさん
2005/10/14(金) 23:18:42ID:???<FORM action="input.php">
<INPUT type="text" name="data1">
<INPUT type="text" name="data2">
<INPUT type="text" name="data3">
:
input.php の中で data1〜n に入力ミスがないか調べた上で、
data1〜n に入力されたデータを output.php に送りたいのですが、
これは一体どうやれば良いのでしょうか?
header("Location:")を使うと値は渡せませんし…。
入力ミスがあった時は「エラー!! **個目のデータを入力し直して下さい」と表示し、
入力ミスがない場合は次のステップへ進む、という処理をしたいのです。
0898nobodyさん
2005/10/14(金) 23:24:15ID:???0899nobodyさん
2005/10/14(金) 23:29:02ID:???解答ありがとうございます。
セッション変数にそんなに多量の情報をブチ込んでも大丈夫なんですか?
ログインの過程でセッションを触ったので、セッション変数でのやり方なら分かるんですが、
何かスマートでない感じがして…。
0900nobodyさん
2005/10/14(金) 23:41:17ID:???具体的に
0901876
2005/10/14(金) 23:42:44ID:???エンコーディングってファイルとして保存するときに設定するやつのことですか?
それなら、EUCと改行はLFにしています。
訳の分からないことを言っていたら、教えて頂けたらありがたいです。
0902nobodyさん
2005/10/14(金) 23:43:13ID:???<INPUT type="text" name="data2">
<INPUT type="text" name="data3">
:
と書きましたがこれが結構あるんです。最大で50個程度。
0904nobodyさん
2005/10/14(金) 23:53:41ID:???表示に使うファイルをincludeなりrequireなりするとややこしくならなくてよいような。
>>901
jpgraphに渡す文字列はUTF-8にしてあげてください。
0908nobodyさん
2005/10/15(土) 01:17:43ID:???ファイルの後ろに足して、あとから後ろから数行だけ読み込むって処理はできますか?
feofなんかで回して止まった時点の直近の配列数個とかいう手段以外でもっとスマートなやり方が
あればいいんですが、どうなんでしょうか。
0910nobodyさん
2005/10/15(土) 01:32:38ID:???>>874とか。ファイルの操作ならtailやtocを参考にしてみては
質問自体はFAQだけど、データ構造しだいだから解答しようがない
スマートにやりたいならスマートなアルゴリズムで扱える構造に設計するしかないよ
0911nobodyさん
2005/10/15(土) 01:33:13ID:???○tac
0913nobodyさん
2005/10/15(土) 01:42:28ID:???改行なんてものは単なる文字の1つなんよ。
言ってしまえば、aとかbとか他の文字とおんなじ扱いなので、
行を単位にして(その部分だけに)アクセスしたり編集(挿入・削除・追加 etc)する方法は無いんよ。
どうしてもやりたきゃプログラムを書く人が自分でやれってな感じ。
0914nobodyさん
2005/10/15(土) 01:44:13ID:???0915nobodyさん
2005/10/15(土) 01:51:20ID:lw7SpU920916876
2005/10/15(土) 02:41:12ID:???UTF−8で渡すとは、つまり、>>876を保存するときにUTF−8とLFで
保存すれば良いのでしょうか?それでしたら、もうやってみたのですが普通に文字化けしているのです。
0917nobodyさん
2005/10/15(土) 02:45:58ID:???$objGrh->xaxis->title->Set(mb_convert_encoding("テスト", "UTF-8", "auto"));
ということをいいたいんじゃまいか?
0918nobodyさん
2005/10/15(土) 02:52:10ID:???0919876
2005/10/15(土) 03:09:54ID:???ご支援ありがとう。
$objGrh->xaxis->title->Set("テスト");の行の下に足してみました。
その後、上の行を消し代わりに入れてみました。
ですが、文字化けには全く変化がありませんでした。
0920nobodyさん
2005/10/15(土) 03:29:01ID:???$objGrh->title->Set("bbb");
$objGrh->xaxis->title->Set("ccc");
$objGrh->yaxis->title->Set(mb_convert_encoding("テスト", "UTF-8", "auto"));
$objGrh->yaxis->title->SetFont(FF_GOTHIC, FS_NORMAL, 16);
xaxisのタイトルに2回Setしてるけど?
0921nobodyさん
2005/10/15(土) 03:33:57ID:???>フォントを呼び出すにはどうすればよいのでしょうか?当然ながら
>$graph->title->SetFont(FF_PMINCHO);ではなりませんでした。
これ
$graph->title->xaxis->SetFont(FF_PMINCHO);
じゃないの?
0922nobodyさん
2005/10/15(土) 03:35:16ID:???$graph->xaxis->title->SetFont(FF_PMINCHO);
0923876
2005/10/15(土) 03:44:59ID:???していませんでした。先ほどの書き込みに習い8行目以降をそのまま
コピペしてみましたが、やはりなりませんでした。
設定ミスなど、どこか根本的なエラーがあるのでしょうか?
0924876
2005/10/15(土) 03:50:02ID:???すみません。>>876で記載したURLに載っていたので、そのまま引用しました。
あの構文は、未だに全く理解できません。
0925nobodyさん
2005/10/15(土) 04:17:10ID:???1の通りにfontを解凍すれば問題ないと思うけどねぇ
バージョンでも違うみたいだから
http://www.gadgety.net/shin/tips/unix/php-gd.html
ここも参考に
0926nobodyさん
2005/10/15(土) 04:42:07ID:8GPgJI8Neアクセレーターはちゃんと動かないし、Zend Optimizerは未対応といわれて、動作しませんorz
0927nobodyさん
2005/10/15(土) 12:47:45ID:???1レコード1ファイルで連番付けて保存しとけば?
所詮テキストファイルで管理できる程度のレコード数なら無問題
0928nobodyさん
2005/10/15(土) 12:57:38ID:???function hoge ($params, &$result) {
・・・
}
という記述がありました。
この &$result についている & の意味(効能)を教えてください。
0929nobodyさん
2005/10/15(土) 13:04:02ID:???0930nobodyさん
2005/10/15(土) 13:21:28ID:???ドキュメントを読むか、簡単なプログラムを書いて自分で確認する癖を付けた方が良かっぺ。
<?php
function hoge ($params, &$result) {
$params = '1'; $result = '2';
}
$workparams = 'A'; $workresult = 'B';
hoge($workparams, $workresult);
echo "workparams = $workparams<BR>";
echo "workresult = $workresult<BR>";
?>
0931nobodyさん
2005/10/15(土) 13:23:15ID:???まあ一応リンクくらい貼っておきますか
http://www.php.net/manual/ja/language.references.pass.php
0932nobodyさん
2005/10/16(日) 06:18:31ID:???どこを監視すれば管理人の生死について出来るだけ正確な判定できると思いますか?
0933926
2005/10/16(日) 06:42:28ID:???4.4.0に合うアクセレーターは見つからなかったので、4.3.11のportsを拾って再構築してeAcceleratorを入れました。
0935nobodyさん
2005/10/16(日) 07:01:48ID:J/3a2VXK0936nobodyさん
2005/10/16(日) 07:31:21ID:???アクセスできるかどうかはわかんないけど
0937nobodyさん
2005/10/16(日) 09:27:28ID:???思い出しちゃった…合掌
0938nobodyさん
2005/10/16(日) 11:43:02ID:RSZhtmwPこれもVIPクォリティ?
小学6年生の男女が裸体うp祭り中!!!
VIPになら小学6年生ぐらいは来てるだろ?
http://ex11.2ch.net/test/read.cgi/news4vip/1129427490/
0939nobodyさん
2005/10/16(日) 12:04:18ID:???0940nobodyさん
2005/10/16(日) 15:01:33ID:4AFyuy0Oの形ではなくて
test.php?aaa
のようなクエリーを受け取る方法を教えてください
変数はどんなんになるんでしょうか
0943nobodyさん
2005/10/16(日) 15:12:11ID:???PATH_INFOやmod_rewriteについてもそのうち調べてみれば?
test.php?aaa の ? なしにデータを受け取れるようになるよ.
0946nobodyさん
2005/10/16(日) 16:22:25ID:2l1eRJuSperlでa〜zを配列に入れるばあい下記のようにすると思いますが
@a=('a'..'z');
phpではこのようなことできないのでしょか?
$a=array('a'..'z');
ってだめなのですが、他にやり方あるのでしょか?
0947nobodyさん
2005/10/16(日) 16:39:33ID:???0948nobodyさん
2005/10/16(日) 16:45:42ID:???↓
0949nobodyさん
2005/10/16(日) 16:47:48ID:???for($i = ord('a'); $i <= ord('z'); $i++) {
$a[] = chr($i);
}
var_dump($a);
C言語風だけどこれしかないんじゃないかな・・・
やったことないからしらねww
0950nobodyさん
2005/10/16(日) 16:49:35ID:???これを上手く使えんかな
0951nobodyさん
2005/10/16(日) 16:50:51ID:???0952946
2005/10/16(日) 16:52:24ID:???皆さんありがとう!
ごめんなさい自己解決してしまいました。
なんか
$a=range('a','z');
で行くみたいです。
レス数が950を超えています。1000を超えると書き込みができなくなります。