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

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

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

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 105
http://hibari.2ch.net/test/read.cgi/php/1300302034/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

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

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

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
04493682011/05/17(火) 23:26:46.95ID:KShR6cC9
>>448
あ、時間はダミーです^^;
0450nobodyさん2011/05/17(火) 23:52:48.59ID:???
ちょおま!セッションIDを晒すなんて勇気あるな
04513682011/05/18(水) 00:07:54.18ID:yNJD7CyN
>>450
あ、IDもユーザー名もダミーですw
0452nobodyさん2011/05/18(水) 00:13:45.36ID:???
逆引きできた pingも通る
0453nobodyさん2011/05/18(水) 00:27:19.56ID:???
>>448
サーバーが再起動されてるということはないよね?
04543682011/05/18(水) 00:37:54.54ID:yNJD7CyN
>>453
お。。。まさかの再起動wwww確認してみますw
04553682011/05/18(水) 00:44:09.95ID:yNJD7CyN
>>453
大丈夫でしたw
0456nobodyさん2011/05/18(水) 02:27:01.57ID:???
>>455
logrotateにKILL -HUPされている予感
04574282011/05/18(水) 04:02:13.97ID:Byk8JbeP
分かる方いらっしゃらないようなので、他で聞いてみます。
失礼しました。
0458nobodyさん2011/05/18(水) 04:21:34.50ID:???
PHP関係ないし
<div name="top">top</div>
<br style="margin-top:2000px">
<div><a href="#top">top</a></div>
と原理は一緒だろ
0459nobodyさん2011/05/18(水) 04:23:08.75ID:???
なんかhtmlおかしかった<br>いっぱいはさむべし
0460nobodyさん2011/05/18(水) 04:45:51.42ID:???
>>457
多分 http://fw.mk-style.com/teaser/swf/website.swf をmain.phpで呼び出し先を変えてるだけ
0461nobodyさん2011/05/18(水) 04:55:03.43ID:???
古典的な手法だな。どちらかといえばJSスレ向けのネタ
今のモダンブラウザならURLまるごとかえれるしな
0462nobodyさん2011/05/18(水) 04:58:14.44ID:???
HTTPヘッダ見ればわかるけど通信はいっさいしてない
Flash側でふりわけてるんだろう
URLで最初に表示するFlashのコマを決めてるだけにすぎない
0463nobodyさん2011/05/18(水) 07:22:54.07ID:???
他で聞きますので皆さんもう回答しなくていいです
0464nobodyさん2011/05/18(水) 07:25:09.74ID:???
スレチですしね
0465nobodyさん2011/05/18(水) 13:23:19.33ID:???
>>457で他スレ行ってますしね
0466nobodyさん2011/05/18(水) 17:32:10.51ID:???
>>457は他スレじゃなくて知恵袋に行ったそうです
0467nobodyさん2011/05/18(水) 18:16:34.60ID:???
知恵袋のどこだろ
JavaScriptカテゴリにはいない
0468nobodyさん2011/05/18(水) 20:34:30.12ID:???
違いました。教えてgooでした。
0469nobodyさん2011/05/18(水) 21:31:34.31ID:???
教えてgooのどこだろ
JavaScriptカテゴリにはいない
0470nobodyさん2011/05/18(水) 21:34:32.53ID:???
無限ループこわい
0471nobodyさん2011/05/18(水) 21:59:54.46ID:IYv8F7QD
配列のツリー構造がどうしても出来ません・・。

$array[] = array('id' =>1, 'pid' => 0);
$array[] = array('id' =>2, 'pid' => 1);
$array[] = array('id' =>3, 'pid' => 2);

と言う配列を↓な感じのツリー構造にしたいのですが、

Array(
 [0] => array(
  'id' => 1,
  'parent' =>0,
  [1] => array(
   'id' => 2,
   'parent' => 1,
   [2] => array(
    'id'=>3
    'parent' => 2
   )
  )
 )
)

再帰しても上手くできません・・・。
function thread(&$array = array(), $pid = null){
 if ($pid == $array[$pid]) {
  return $array;
} else {
  $array[] = thread($array, $array["pid"]);
}
}
0472nobodyさん2011/05/18(水) 22:41:08.51ID:???
>>471
メリットが全く理解できないが

$array[0] = array('id'=>1, 'parent'=>0, '1'=>array('id'=>2, 'parent'=>1, '2'=>array('id'=>2, 'parent'=>1)));
var_dump($array);
0473nobodyさん2011/05/18(水) 22:48:27.63ID:???
>>472
>>471は再帰関数で実現したいと言っているのですよ。
0474nobodyさん2011/05/18(水) 22:51:38.92ID:???
>>473
わかってるよ、整理のために書いただけ
本題の件は pid を元に配列を作ってソートした後にforループで回して入れ子にすればいい
0475nobodyさん2011/05/18(水) 22:56:59.93ID:???
いや、pid を元に $array をソートするだけでいけるな
入れ子処理にforループ使うのは同じ
0476。2011/05/18(水) 23:09:46.63ID:???
条件がよくわからんから適当
なんか構造が変なので、pidの重複は上書きになっちまうが・・・

print_r ( thread($array , 0) );

function thread($array , $pid) {
$ret =array();
foreach( $array as $var => $val) {
if($val["pid"]==$pid){
$ret = array("id"=>$val["id"],"parent"=>$pid);
if($r = thread($array,$val["id"])){
$ret[$val["id"]]=$r;
}
}
}
if ($pid == 0) $ret = array(0=>$ret);
return $ret;
}
0477nobodyさん2011/05/18(水) 23:11:28.22ID:???
>>473
別に再帰関数で実現したいとは言ってませんよ
0478nobodyさん2011/05/18(水) 23:23:55.97ID:???
こうなるのか

$array[0] = array('id'=>1, 'parent'=>0);
$array[0][1] = array('id'=>2, 'parent'=>1);
$array[0][1][2] = >array('id'=>2, 'parent'=>1)));
0479。2011/05/19(木) 00:20:21.07ID:???
$arrayの添字って単に増えればよくて、idとか parentとまったく関係ないとか?
0480nobodyさん2011/05/19(木) 00:32:04.14ID:???
配列のツリー作りたいだけだろ?
子要素はchildかなにかにいれてく感じで・・・
0481。2011/05/19(木) 00:42:13.74ID:???
じゃあ、これでいいのか・・・
$array[] = array('id' =>1, 'pid' => 0);
$array[] = array('id' =>2, 'pid' => 1);
$array[] = array('id' =>3, 'pid' => 2);

$u = &$ret;
foreach($array as $var => $val) {
$u[$var] = $val;
$u = &$u[$var];
}
0482nobodyさん2011/05/19(木) 00:50:50.91ID:???
>>471をそのまま読むと>>476
けど>>481の方がわかりやすいから俺ならこっちを採用するな
0483nobodyさん2011/05/19(木) 01:02:48.42ID:???
どうでもいいけど質問した本人が消えてしまって周囲だけが盛り上がってる
最近こういうこと多いね
0484nobodyさん2011/05/19(木) 01:46:05.62ID:???
話題に乗り遅れたのに遅レスしちゃう人って一体・・・・
0485nobodyさん2011/05/19(木) 03:48:14.86ID:0muGXop6
>>417
データベース板、最近見に行ったが、過疎ってるぽいな。
変なレスばっかりだし、情報源として役に立つのかな…。
こういうの調べるとき2chが頼りだったんだけどな。
0486nobodyさん2011/05/19(木) 04:11:25.54ID:???
そんならせめてWebProgスレで聞けばいいだろ
なんでPHPに限定するんだ
あっちも質問があったらすぐレスつくぐらいの活発さはあるぞ
0487nobodyさん2011/05/19(木) 04:13:07.35ID:???
いやいやDBスレでも質問あれば普通にまともな答え返ってくるぞ
先入観もってないで聞いてみればいいのに
スレあげれば目立たないスレでも目立つでしょう
0488nobodyさん2011/05/19(木) 07:41:44.49ID:???
>>487
お前の回答がまともなわけがない
0489nobodyさん2011/05/19(木) 08:39:07.31ID:???
ちっとは黙っとけよ低レベル
04904712011/05/19(木) 11:46:33.75ID:Wi9MRWQP
みなさん、ありがとうございます。悩んでる間に寝てしまいました・・。

>>476さんのやり方で概ね出来そうです!
$arrayにpidが無い(0)の配列が複数ある場合、
なぜかその配列は消えてしまいますが、
ヒントをいただいたので自分で考えてみます。

色々と検証していただき、ありがとうございました。
0491nobodyさん2011/05/19(木) 16:54:35.11ID:???
>>489
まさか俺様に言ってるんじゃないだろうね?
俺様に喧嘩を売るとはいい度胸をしてますね?
0492nobodyさん2011/05/19(木) 17:44:12.88ID:???
ごめんなさい
0493nobodyさん2011/05/19(木) 20:04:27.79ID:???
俺様は心が広いので許してあげます?
0494nobodyさん2011/05/20(金) 01:37:18.49ID:???
うん
0495nobodyさん2011/05/20(金) 09:57:40.57ID:???
こ
0496 忍法帖【Lv=5,xxxP】 2011/05/20(金) 12:42:24.57ID:lhmTdNY3
散乱したスクリプトをrequire_once()しまくってると
いつかは変数が衝突すんじゃないかと、不安になる。
perlみたく局所化できないし
コードの量が増えるとやっぱOOPでこれを回避するしかないんでしょうか?
0497nobodyさん2011/05/20(金) 12:58:38.20ID:???
OOP関係ないし
名前空間は必要になるかもしれんけど
0498nobodyさん2011/05/20(金) 13:18:58.34ID:???
オブジェクト化を進めていくと大方のコードがメソッド内に収まるから、OOPも関係あるんじゃね。
0499nobodyさん2011/05/20(金) 14:22:06.44ID:???
オブジェクト化しても命名規則をきちんと決めないと
後から衝突したり、変更しなければ行けない時があるからね。
特に間違った英名を使っていた時とか・・・
0500nobodyさん2011/05/20(金) 14:27:19.40ID:???
ネームスペースでいいだろ
0501nobodyさん2011/05/20(金) 14:49:57.20ID:???
普通そういうのえの対処はnamespaceだな
0502。 ◆oDupeixhZv52 2011/05/20(金) 14:56:43.66ID:???
変数だから、グローバルに書いちゃってるのをやめろってレベルの話かもよ。
クラスや関数なら衝突分かるんだし。
0503nobodyさん2011/05/20(金) 15:39:17.40ID:???
$str = "[ABCDE]";
$str = "[A1]";

を eregi("^\[([a-zA-Z0-9]+)]",$str) でマッチさせようとしたら
[ABCDE]だけマッチして[A1]がマッチしないんですがなぜでしょう?
0504nobodyさん2011/05/20(金) 15:45:15.85ID:???
訂正
×eregi("^\[([a-zA-Z0-9]+)]",$str)
○eregi("^\[([a-zA-Z0-9]+)\]",$str)

ちなみにPHP5.2.10(Win32)を使用してます。
05055032011/05/20(金) 15:56:35.21ID:???
すみません、自己解決しました。
正規表現云々以前の問題だったようで、上記でマッチしました。
0506nobodyさん2011/05/20(金) 16:24:32.58ID:???
>>503-505

次回はID出して質問するように!
0507nobodyさん2011/05/20(金) 20:38:14.44ID:bTEqIegR
test
0508nobodyさん2011/05/20(金) 20:52:22.34ID:bTEqIegR
配列について質問です。
print_r($A_array);
Array
( [0] => http://xxx/A.html
[2] => http://xxx/C.html
[3] => http://xxx/D.html
[5] => http://xxx/F.html
[7] => http://xxx/H.html
)

print_r($B_array);
Array
( [0] => http://zzz/a.html
[1] => http://zzz/b.html
[2] => http://zzz/c.html
[3] => http://zzz/d.html
[4] => http://zzz/e.html
[5] => http://zzz/f.html
[6] => http://zzz/g.html
[7] => http://zzz/h.html
)
この二つの配列を比較して$A_arrayのkeyの順番で$B_arrayの値を取りたいです。
私が望むのは$A_arrayの0,2,3,5,7と同じ場所だけ取りたいので$B_arrayはこういう風にとりたいです。
Array
( [0] => http://zzz/a.html
[2] => http://zzz/c.html
[3] => http://zzz/d.html
[5] => http://zzz/f.html
[7] => http://zzz/h.html
)
何かいい方法や良い関数やなどあるでしょうか?説明わかりにくかったらすいません><
0509nobodyさん2011/05/20(金) 20:56:59.20ID:???
>>508
エロ画像でもDLすんの?
0510nobodyさん2011/05/20(金) 21:00:24.87ID:???
>>508
単純に大文字か小文字かの差だけなら
lowercase使えばいい
phpだと正式な関数名わからないけど大文字を小文字にする関数
php lowercaseでぐぐればたぶん出てくるだろう
0511nobodyさん2011/05/20(金) 21:02:22.38ID:???
大文字小文字が何の関係あるんだろうw
0512nobodyさん2011/05/20(金) 21:03:28.27ID:???
>>509
いやrss取得してるんだけどたまに順番がずれて取得されてしまう。
データベースに登録してある分と比較して新着だけ登録したいんだけど
順番ずれるとほかの登録する情報までずれちゃう・・
0513nobodyさん2011/05/20(金) 21:04:29.91ID:bTEqIegR
>>510
大文字小文字は関係ない
俺の説明が悪かったかな
0514nobodyさん2011/05/20(金) 21:06:24.86ID:???
なんで急に偉そうな口調になってんの?
0515nobodyさん2011/05/20(金) 21:08:02.93ID:???
普通に配列のindexわかるとおもうけど
foreach ($array as $key => $value)
0516nobodyさん2011/05/20(金) 21:22:34.22ID:bTEqIegR
>>515
ありがとう。
解決できました><
0517nobodyさん2011/05/20(金) 21:24:30.13ID:???
まぁ1行でできるんだけどね
0518nobodyさん2011/05/20(金) 22:03:58.98ID:???
なんで急に偉そうな口調になってんの?
0519nobodyさん2011/05/20(金) 23:05:08.79ID:???
なんでその1行を駄レスに変えてしまったの?
0520nobodyさん2011/05/20(金) 23:53:29.38ID:qHY71X5w
データーベースにあるデータを配列にいれ
任意のデータを抽出したいです
よろしくお願いします
0521nobodyさん2011/05/21(土) 00:52:31.02ID:???
そうですか頑張ってください
0522nobodyさん2011/05/21(土) 00:56:46.25ID:???
こちらこそ宜しくお願い致します
0523nobodyさん2011/05/21(土) 01:03:06.74ID:???
誰か>>520に答えてやれよ
俺は断る
0524nobodyさん2011/05/21(土) 01:09:22.20ID:???
>>523
わかんねーんじゃないの低脳ww
0525nobodyさん2011/05/21(土) 01:15:43.02ID:???
>>524
低脳で結構
ついでにお前の質問の低脳ぶりも見直せ
0526nobodyさん2011/05/21(土) 01:16:43.75ID:???
>>525
わかんねーんじゃないの低脳ww
0527nobodyさん2011/05/21(土) 01:48:59.21ID:???
>>520
使用しているRDBMSが配列をサポートしているか調べる
サポートしている→マニュアル読む、または配列を入れようとせず、正規化する
サポートしてない→正規化する
0528nobodyさん2011/05/21(土) 11:33:05.25ID:???
>>527
逆だろw
0529nobodyさん2011/05/21(土) 13:07:47.71ID:???
配列ってPHPの配列じゃねーの?
0530nobodyさん2011/05/21(土) 13:39:22.56ID:???
Ajax使えば簡単なのに
0531nobodyさん2011/05/21(土) 13:51:37.98ID:???
ajaxアンチ乙
0532nobodyさん2011/05/21(土) 14:34:57.45ID:???
>>531アンチとか言って切り捨てずにきちんと検証しろ
0533nobodyさん2011/05/21(土) 14:43:53.71ID:1aWgA8iu
よく分かりません
もっと詳しく説明してくれませんか?
よろしくお願いします
0534nobodyさん2011/05/21(土) 15:10:54.02ID:???
通信手段のajaxが何の関係あるんだタコが
0535nobodyさん2011/05/21(土) 15:18:53.77ID:???
Ajax使えば何でも実現できんのに配列とか意味わかんねww
05365272011/05/21(土) 15:37:05.33ID:???
>>528
ほんとだ!
逆のどこで悩むんだよw
0537nobodyさん2011/05/21(土) 18:37:42.01ID:GXwJOGRX
微妙な疑問なんですが、constはstatic同様
メモリ上で静的領域に確保されるんですか?
0538nobodyさん2011/05/21(土) 19:24:50.02ID:???
シラネ
0539nobodyさん2011/05/21(土) 22:22:00.93ID:???
Shirane
0540nobodyさん2011/05/22(日) 00:18:52.31ID:6xJvzXw/
Windows XAMPPでXSLTProcessorを使おうとしたのですが、
'XSLTProcessor' not found
と言われます。
おそらくXSLTProcessorを使うための何らかのモジュールが足りないんじゃないかと
推測しましたが、そこから先、つまり何をどうやって足せばよいのかわかりません

どうかご指導お願いします。
0541nobodyさん2011/05/22(日) 02:11:25.95ID:???
シラネ
0542nobodyさん2011/05/22(日) 04:24:20.46ID:???
初心者がxampp使うな
0543nobodyさん2011/05/22(日) 10:42:43.25ID:???
>>540
最新版入れなおし
0544nobodyさん2011/05/22(日) 20:24:21.70ID:???
初心者はXAMPPを使うなっ!!!!!!!!!!!!!!!!!!!!!
一つずつapacheとphpを入れろ!!!!!!!!!!!!!!!!!!
0545nobodyさん2011/05/22(日) 22:00:01.11ID:???
上級者はXAMPPなど使わんぞ
XAMPPを使うのは初心者に毛が生えた奴だろうな
0546nobodyさん2011/05/22(日) 22:18:30.26ID:U+yRiBZY
初歩的な質問ですみません。

Pearをgo-pear.phpを使用してインストールしたんですが
セキュリティーの問題があるため、パスワードを設定して下さい
的なメッセージがpearの管理画面によく表示されているのですが

Pearのインストールディレクトリのアクセス権限を 000 にしてしまえば問題無いでしょうか?
※パスワードを設定するのはメンドクサイのではなからアクセス制限をしてしまった方が
手っ取り早いと考えています。
0547nobodyさん2011/05/22(日) 22:18:49.68ID:???
シラネ
0548nobodyさん2011/05/22(日) 22:34:37.97ID:???
>>546
pearの管理画面って何?
■ このスレッドは過去ログ倉庫に格納されています