【PHP】下らねぇ質問はここに書き込みやがれ 66
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2008/03/16(日) 17:23:27ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 65
http://pc11.2ch.net/test/read.cgi/php/1203854597/
◆質問する時の注意
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を必ず明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくはトリップをつける事。
◆質問後の注意
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくは質問時のトリップをつける事。
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0951nobodyさん
2008/04/10(木) 18:03:06ID:???ttp://www.php.net/manual/ja/language.functions.php
0952nobodyさん
2008/04/10(木) 18:07:27ID:???修正後でも結果が変わると思うが?
916の指定行に値を追加したい
というのに対しての回答が938
その回答が941であって
やるならこうだろ
$array = array(1, 2, 3, 4, 5, 6, 7, 8, 9);
$newArray = array();
foreach($array as $key => $value) {
if ($key == 3) {
$newArray[] = 0;
}
$newArray[] = $value;
}
var_dump($newArray);
0953nobodyさん
2008/04/10(木) 18:19:38ID:???0954nobodyさん
2008/04/10(木) 18:38:42ID:F/t4zGMj読みにくい。これだからプログラムしかしてない人はだめだね
0955nobodyさん
2008/04/10(木) 18:45:30ID:fx+O7o8h動作するのは分かってるんだけど、可読性とかの意味でどうなのかと。
あと、わざわざ実行時評価にする意味がある場合があるのかな?
まあ、俺のところで使ってるやつは特に考えずにやったっぽいけど。
0957nobodyさん
2008/04/10(木) 19:56:50ID:???0958nobodyさん
2008/04/10(木) 19:59:49ID:???考えないキモメンが考えそうなコードだなw
0959nobodyさん
2008/04/10(木) 20:01:57ID:???こんなあいまいな質問の仕方なら
この展開もおかしく無いだろ
・言語構造として可能なのか
・実運用としてありなのか
ちゃんとした答えが必要なら、ちゃんとした質問を用意するって基本だろ
0960nobodyさん
2008/04/10(木) 20:13:40ID:???細かい技術的なことを気にするよりも、市場調査をしっかりして、
きちんとしたコンセプトを考える方が大事。
企画書なのに5ページも10ページも書いてくる奴は馬鹿。
0962nobodyさん
2008/04/10(木) 20:40:55ID:???「fscanfがおかしいです。」
0963nobodyさん
2008/04/10(木) 21:25:17ID:???うちにも居るよ、
スパゲティコードしか書けないくせにプライドだけは
一人前のキモイ香具師、指摘すると青筋たててマニュアルを
持ち出すのなww
0964nobodyさん
2008/04/10(木) 21:31:49ID:???0965804
2008/04/10(木) 22:11:12ID:???0966nobodyさん
2008/04/10(木) 22:42:47ID:???0967nobodyさん
2008/04/11(金) 03:48:55ID:iBavl2hjif (なんたら){
function hoge(){
なんたら1
}
} else {
function hoge(){
なんたら 2
}
}
$a = hoge();
ってのなら昔やったことあるが
0968nobodyさん
2008/04/11(金) 04:29:31ID:???0969nobodyさん
2008/04/11(金) 06:26:31ID:???0970nobodyさん
2008/04/11(金) 06:29:54ID:???トリップもOKにしようぜ派と
IDしかダメ派で
争ってるとこだろ
IDしかダメ派の理由が曖昧すぎるけどな
0971nobodyさん
2008/04/11(金) 06:41:48ID:???【PHP】下らねぇ質問はここに書き込みやがれ 67
http://pc11.2ch.net/test/read.cgi/php/1207863515/
0972nobodyさん
2008/04/11(金) 06:46:53ID:???0973nobodyさん
2008/04/11(金) 07:24:05ID:???これは泣ける
俺がmb_decode_numericentityで文字列最後に"&&&"とか"&&&&&"とか&が奇数続くと
一個&が減らされるってバグも通じなかったのか無視されてる
これがもし開発者の目にとまったら無念を晴らしてくれ
0974nobodyさん
2008/04/11(金) 09:40:17ID:???0975nobodyさん
2008/04/11(金) 10:52:45ID:Krf8JFLU円グラフのマーカーの表示位置を基本は円グラフの中で、
表示出来ない場合(枠に文字列が重なるとかの理由で)は円グラフの外に表示し、
外に出た場合も文字列が重ならない(5%とかの小さいやつとか同士とかで)ようにする方法はあるのでしょうか?
Image_Graph_Marker_Pointing_Angularとかを調べてみたのですがそれっぽいのが見当たりませんでした。
わかるかたがおられたらお願いです、教えてください。
PHP Version:4.3.9
0976nobodyさん
2008/04/11(金) 11:33:10ID:Voj+sZUVこれみたいに、ソースを表示させるためにはどうすればいいですか?
0977nobodyさん
2008/04/11(金) 11:40:07ID:???0979nobodyさん
2008/04/11(金) 12:45:21ID:Voj+sZUV0980nobodyさん
2008/04/11(金) 12:51:48ID:???文字サイズから高さと幅を計算して、
重なるかどうかをチェックするしかないんじゃない?
重なった分だけずらせば重ならなくなる。
0981nobodyさん
2008/04/11(金) 12:57:17ID:+Zr/2VQaarray_multisort()だと機械的にソートされてしまうのですが
自然順に任意のkeyを対象に
ソートをかけるにはどうすればよいのでしょうか?
0982nobodyさん
2008/04/11(金) 13:14:07ID:???自然順の比較関数を使った関数を自分で書いてソート。
いかにもマニュアルのNotesにありそうなネタだけど...
と思って見たらやっぱりあった。
0983nobodyさん
2008/04/11(金) 13:18:31ID:+Zr/2VQareturn strnatcasecmp($a[ "キー" ] ,$b[ "キー" ]);
}
uasort($array, "fCmp");
こんなカンジでしょうか?
キーの部分は、uasort行から渡せないですよね?
0984975
2008/04/11(金) 13:32:45ID:Krf8JFLUやっぱしそこに行き着きますか・・・。
気づいてないだけで本当はあったってのを期待してたのですが・・・。
出来そうか試してみます。
0985nobodyさん
2008/04/11(金) 14:25:11ID:???一応、こんなん見つけたけど、
ttp://pear.veggerby.dk/forum/comments.php?DiscussionID=680
でもAxisにはバグがあるってのも見つけたから、いまいち自信ない。
0986nobodyさん
2008/04/11(金) 14:55:30ID:???何次元配列で、どこのキーを基準に、どうソートしたいのか分からん。
全体をまとめてソート?それとも多次元配列の構造を維持したいのか?
uksortでキーソートできるべ。
0987nobodyさん
2008/04/11(金) 15:04:56ID:+Zr/2VQa$array[] = array( "英語の名前" => "AaV", "時刻" => "1900.....")
$array[] = array( "英語の名前" => "aab", "時刻" => "1900.....")
二次元配列で 二次元目のキーを 英語でー 時刻でー 他でー と渡したいのです。
0988975
2008/04/11(金) 15:06:18ID:Krf8JFLU一度、内容をよく見てみます。
もうひとつ質問があるのですが、
円グラフのマーカーに、"XX.X%"と表示は出来るのですが、
"項目名\nXX.X%"と表示することは可能なのでしょうか?
何度も質問してすみません。
0989nobodyさん
2008/04/11(金) 15:16:53ID:+Zr/2VQareturn strnatcasecmp($a[ "キー" ] ,$b[ "キー" ]);
のところでは
0990nobodyさん
2008/04/11(金) 15:24:24ID:+Zr/2VQa"キー"の時の値を比べているんですよね?
このキーの部分を任意の値に変えるにはどのような書き方をすればいいのでしょうか?
0991nobodyさん
2008/04/11(金) 16:09:20ID:???こういうこと?
function Camp($a, $b){
global $array;
return strnatcmp($array[$a]['name'], $array[$b]['name']);
}
uksort($array, "Camp");
'name'の所を任意のキーに変えて使ってみれ。
0992nobodyさん
2008/04/11(金) 17:10:31ID:???0993nobodyさん
2008/04/11(金) 17:20:59ID:+Zr/2VQaありがとうございます。
nameの所を任意のキーで使いまわし出来るようにしたかったのです
class cSort
{
var $key;
var $dsec;
function cSort(){
$this->key = "";
$this->desc = "1";
}
function fCmp($a, $b){
$cmp = strnatcasecmp( $a[ $this->key ] ,$b[ $this->key ] );
return $cmp * $this->desc;
}
function fUasort($array){
uasort($array, array( $this, "fCmp") );
return $array;
}
} こんな風にしてみました
0994nobodyさん
2008/04/11(金) 17:25:17ID:+Zr/2VQa$cArray->key = "キー名";
$cArray->desc = "-1"; //降順昇順
$ary_result = $cArray->fUasort($ary_list);
ただstrnatcasecmpだと英語は自然になるのですが
2バイト文字が先に来て、その後英数字の自然順になるのですね
記号→ひらがな→漢字→数字→自然順英語
半角を先頭に回したいのですが、今度はコレの問題が・・・・
0995nobodyさん
2008/04/11(金) 18:14:16ID:???それは比較関数を書くしかない。
マルチバイトに文字を切り出して、
文字コードの範囲で場合分けして比較ってことになるかな。
ttp://www.unicode.org/Public/UNIDATA/Scripts.txt
ttp://www.unicode.org/charts/
一応、unicodeの場合の参考URLってことで
多分、労力の割りに報われない仕事だと思うが。
0996nobodyさん
2008/04/11(金) 18:47:23ID:+Zr/2VQaありがとございます
$cmp = strnatcasecmp( $a[ $this->key ] ,$b[ $this->key ] );
$att_a = "0"; $att_b = "0";
if( strlen( $a[ $this->key ] ) != mb_strlen( $a[ $this->key ], "UTF-8" ) ) $att_a = "1";
if( strlen( $b[ $this->key ] ) != mb_strlen( $b[ $this->key ], "UTF-8" ) ) $att_b = "1";
if( $att_a == 1 && $att_b == 0) $cmp = 1;
if( $att_a == 0 && $att_b == 1) $cmp = -1;
return $cmp * $this->desc;
単純に比較結果をひっくり返してみて、とりあえず全角が後ろにソートされたのですが
前頭に英語郡が合っても、途中に記号や全角文字が入ると
後方の全角グループに行ってしまいました。例: ABC株式会社
あくまで人間がやるような自然順を模倣しようとしているだけで
機械的やるには難しいようですね。。。。
0997nobodyさん
2008/04/11(金) 19:50:31ID:???0998nobodyさん
2008/04/11(金) 20:51:52ID:???0999nobodyさん
2008/04/11(金) 22:01:47ID:???1000nobodyさん
2008/04/11(金) 22:14:29ID:???10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。