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

【PHP】下らねぇ質問はここに書き込みやがれ 31

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/10/25(水) 08:45:46ID:???
PHPに関するくだらねぇ質問用スレです。ここならお前の下らない質問に回答があるかも知れません。

まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

【前スレ】
 【PHP】下らねぇ質問はここに書き込みやがれ 30
 http://pc8.2ch.net/test/read.cgi/php/1159979905/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しない)
・ サーバーのOS、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
0252nobodyさん2006/10/27(金) 22:02:30ID:???
>>250
それはあんまり使わない機能だから消したほうがいいよ。
処理が早くなるからPCの健康にいい。
0253nobodyさん2006/10/27(金) 22:17:06ID:???
>>248

読み書きの仕方によるんでは。

毎回一万行すべて読む必要があるんなら、いっこのファイルにまとめてもいいだろうし。

3000行目と6000行目と6500行目だけアクセスする、とかいうパターンなら
一行いちファイルのほうがいいかもしれないし。
0254nobodyさん2006/10/27(金) 22:31:21ID:KqclDjNY
>>253
自分の書き方が悪かったです。
1万行の場合はその中に特定の1行が存在するかどうかのチェック
1万個の場合はその中に特定のファイルが存在するかどうかのチェック
というものです。
そのあとファイルの書き換えも行うので、その場合は1万個のほうが
オーバーヘッドが少なくて良いのでは無いかと考えているのですが、
1万個もファイルが有る場合のis_file(探したいファイル名)は重くて悪い方法
なのでは無いかということも考えられたので。分けるのが良いのか、まとめるのが良いのか
ということに関して、一般的にどうするのが良いとされているのかが気になりました。
0255nobodyさん2006/10/27(金) 22:32:09ID:kvLwzQNj
>>240
「1万行のファイルから特定の内容を行ごとで検索するという処理」
→そのアルゴリズムを線形検索という。

「同一ディレクトリにある1万個のファイルに特定の名前の物が存在するか」
→ファイルシステム(やOS)による。
バイナリツリーとか、ハッシュテーブルとか、線形検索とか、さまざまなアルゴリズムが使われている。
0256nobodyさん2006/10/27(金) 22:33:17ID:kvLwzQNj
これも参考にしてくれ

大量の画像ファイルを配信するサーバーを作ろうと思っています。
http://q.hatena.ne.jp/1150977803
0257nobodyさん2006/10/27(金) 22:47:29ID:???
>>254
一般的っていう話なら、
is_fileの方はOSとファイルシステムに依存し過ぎるのでまずやらない。
やったとしても独自にインデックス化してディレクトリ掘ってやるとか。
そんな面倒な事するぐらいならマトモなDBに放り込んで安心お手軽に済ますのが一般的。
もちろんシングルファイルで済むならそっちで。
0258nobodyさん2006/10/27(金) 23:00:20ID:KqclDjNY
>>255
>>256
ありがとうございます。とても参考になりました。
ファイルが1万程度で特定のファイルを探して開くというだけの作業だったら
システム任せにして作業するのが効率良さそうという印象でした。
プログラムもシンプル、メモリ消費も少ない、システムに任せた検索で高速と
考えてファイルを沢山という状態にします。
心配な場合は手前でディレクトリを更に分けておくのが良さそうでした。
0259nobodyさん2006/10/27(金) 23:09:47ID:KqclDjNY
>>257
そういえば、というくらいにMySQLなんかの話を忘れていました。
使ったことが無かったので見落としていましたが、調べてみます。ありがとうございます。
0260nobodyさん2006/10/27(金) 23:30:59ID:KHfcRMGS
なんでpostgreは人気がないんですか?
mysqlみたいにライセンスも必要ないし、
postglreなら万が一組み込んでもライセンス違反にはならないのに。
0261nobodyさん2006/10/27(金) 23:57:48ID:???
>>258
実際、数が極端に多すぎなければ検索速度はis_file()の方が平均して速いよ。
一応、ハッシュを使った割とまともな検索アルゴリズムを使ってくれるから。
よほど古くさいOSでなきゃ2〜3万くらいならまだis_file()の方が余裕で速いと思う…

でも非常にシステム依存性が高くて何がトラブルの元になるか分からないんで、
コントロールしやすい仕組みで作るのがやっぱり一般的かな。
0262nobodyさん2006/10/28(土) 00:37:48ID:???
>>260
DB板へ行ってください
0263nobodyさん2006/10/28(土) 00:42:40ID:Y7NdvAT2
register_globals=onはセキュリティ的に推奨されないみたいですが、
グローバル変数を使うこともセキュリティ的にやめたほうが無難でしょうか?
0264nobodyさん2006/10/28(土) 00:53:50ID:???
>>263
あなたは、なぜ register_globals=on に問題があるのか学ぶべき

詳しくは検索すると山ほど出るからそっちに任せる
0265nobodyさん2006/10/28(土) 00:58:05ID:???
>>263
セキュリティは全然関係なく、設計と保守性の問題であまり推奨されない。
適材適所を踏まえて、グローバル変数が必要なシーンで使うのは全く問題ない。
0266nobodyさん2006/10/28(土) 01:02:09ID:???
あれ、register_globalsでスーパーグローバル変数の上書きかなんかのセキュリティ問題なかったっけ?
02672632006/10/28(土) 01:11:22ID:Y7NdvAT2
ますます混乱しました。
ここのページをみてきたんですが、>>263さんと以下のページどっちがただしいのでしょうか?
ttp://www.sound-uz.jp/php/tips/security.html
0268nobodyさん2006/10/28(土) 01:11:58ID:qYURnN+A
配列を単純に連結する(マージではなく)関数はないのでしょうか?

$a = array('a','b','c');
$b = array('0','1','2');
↓
array('a','b','c','0','1','2');

こういった動作をさせたいのですが…
02692652006/10/28(土) 01:27:00ID:???
>>267
言い方が悪かったんなら謝る。
俺が質問の意味を勘違いしたのかもしれないが、
「グローバル変数を使うこと"も"」ってのは
「register_globals設定の話とは別に」って意味じゃないのか?

register_globalsがONなら当然セキュリティは大問題だが、
register_globalsがOFFなら特に問題ないし、
その上でグローバル変数を使うことに問題など無いよ。

そのページの話は「register_globalsをONにしてグローバル変数を使う場合」だろ。
そんなもん、グローバル変数を使ってようと使っていなかろうと、
register_globalsがONになってる時点で全然ダメだ。
さらにグローバル変数を使っていたらより問題が悪化するというだけのことだ。
0270nobodyさん2006/10/28(土) 01:30:31ID:???
>>269
すいません、自分の書き方が悪かったと思います。
>>269さんの解釈のとおりです。
わかりやすいです。
参考にさせていただきまして、プログラムを組んでみます。
ありがとうございました。
0271nobodyさん2006/10/28(土) 01:31:10ID:???
>>268
$a = array('a','b','c');
$b = array('0','1','2');
array_splice($a, -1, 0, $b);
var_dump($a);

結果:
array(6) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[2]=>
string(1) "0"
[3]=>
string(1) "1"
[4]=>
string(1) "2"
[5]=>
string(1) "c"
}
0272nobodyさん2006/10/28(土) 01:32:53ID:???
>>268
おれもわからなかったから調べてみたらこんな関数があったよ
$a = array(1,2,3);
$b = array(4,5,6);
$a = array_merge($a, $b);
02732712006/10/28(土) 01:33:04ID:???
すまん。なんか配列の順番を壊しちゃってたな。
array_splice($a, count($a), 0, $b);
が正解。
0274nobodyさん2006/10/28(土) 01:46:52ID:???
>>268
なんでマージじゃダメなの?
0275nobodyさん2006/10/28(土) 01:51:34ID:???
>>272
array_mergeだと、順番が混合してしまうんですよね
>>273
置き換えをする関数で連結するとは思いつきませんでした
ありがとうございました
0276nobodyさん2006/10/28(土) 01:51:38ID:???
>>268
$a = array(1,2,3);
$b = array(4,5,6);

$c = $a[0].$a[1].$a[2].$b[0].$b[1].$b[2];

echo $c;
0277nobodyさん2006/10/28(土) 02:07:36ID:???
>>275
array_mergeでも一緒やんけ
0278nobodyさん2006/10/28(土) 02:08:30ID:???
というかマージのほうがみやすいと思うけど。
ひとそれぞれなのか・・
0279nobodyさん2006/10/28(土) 02:13:09ID:???
>>275
> array_mergeだと、順番が混合してしまうんですよね
具体的にどういうケース??
02802752006/10/28(土) 02:42:38ID:???
今確かめたらarray_mergeでも順番は保たれますね
連想配列で、同じ文字列のキーがあった場合には上書きされてしまうので、
キーが数字の時も混合されてしまうと思いこんでいました。
0281nobodyさん2006/10/28(土) 02:57:34ID:???
便利なのがphpのよいところだからな。
>>275はとりあえずこれでも読んどけ
ttp://hiro.asks.jp/5297.html
0282nobodyさん2006/10/28(土) 03:36:18ID:VA57KDTi
下らなくない質問はどこですればいいですか?
0283nobodyさん2006/10/28(土) 03:43:25ID:???
下らなくなくはないだろう。
0284nobodyさん2006/10/28(土) 03:57:36ID:???
>>282
かつてここの本スレと呼ばれた「PHP質問スレ」が別にあった。
だが、そこにも結局下らない質問しか投下されなかったために
スレは消滅してしまった。

下らなくない質問があるというなら試しにここに投下してみるといいよ。
ニーズがあることが確認できればきっと本スレ復活もあるさ。
0285nobodyさん2006/10/28(土) 04:12:50ID:7i10sVSQ
質問です。

OS:CentOS4.4
Apache2.2.3+php5.1.6(どちらもソースから)

症状:php.iniを置くとphpが実行されない

Configuration file pathに指定したディレクトリにphp.iniを置いてapacheをリスタートし、phpinfoを表示させてみると何も表示されません
(ソースを見ると
<?
phpinfo();
?>
このように表示されてしまいます)

php.iniを置かない状態だと問題なく表示されるのですが、どうしたらよいでしょうか?
php.iniは、php.ini-recommendedを cp -p でコピーしただけなので設定に問題があるとは思えないのですが・・。

よろしくお願いします。
0286nobodyさん2006/10/28(土) 04:25:32ID:???
>>282にとっては

echo "Hello World";
がくだらなくなくても・・・

おれにはくだらないんだよ。


そんなもんじゃねえのか。ここで質問したっていいじゃん。
質問者がそんな回答者を上から見下ろすような感じじゃ嫌な感じ。
0287nobodyさん2006/10/28(土) 04:27:57ID:???
1.LoadModuleの設定はしてあんのか?
2.LoadModuleで呼び出すdllパスは正しいのか、そのdllであっているのか。

それを確認してからまたレスしれ
02882852006/10/28(土) 04:36:47ID:7i10sVSQ
>>287
レスありがとうございます(私宛ですよね・・?)

LoadModuleは設定してあります。
php.iniを置かなければ正常に動作しますので・・。

httpd.confでの設定↓
LoadModule php5_module modules/libphp5.so
(lipphp5.soも存在します)

引き続きよろしくお願いします。
0289nobodyさん2006/10/28(土) 04:50:26ID:???
>>286
見下ろすのはこっち
くだらない質問でもど偉そうに聞いていいスレ
http://pc8.2ch.net/test/read.cgi/php/1158647441/

どっちかっつーと「対等な立場で質問」だと思う >下らなくない
0290nobodyさん2006/10/28(土) 04:50:34ID:???
>>285
>php.iniを置かなければ正常に動作しますので・・。
php.iniをいじってない?エラーになってんじゃ?
もし修正しているなら修正していないphp.ini-distかなんかで確認
正常なら修正したとこ見る
0291nobodyさん2006/10/28(土) 04:52:06ID:???
>>288
php.iniのパーミッションってどうなってんの?
0292nobodyさん2006/10/28(土) 04:52:53ID:???
>>290
>>285
> php.iniは、php.ini-recommendedを cp -p でコピーしただけ
02932852006/10/28(土) 04:59:54ID:7i10sVSQ
>>291
php.iniのパーミッションは644(rw-r--r--)になっています。

>>290
php.iniはいじってないのです・・。

>>292
補足ありがとうございます。
0294nobodyさん2006/10/28(土) 05:00:47ID:???
>>289
スルーしれ
0295nobodyさん2006/10/28(土) 05:03:17ID:???
設定はあってんのに動かないときは、
アンスコして再インスコすると解決することがある。
0296nobodyさん2006/10/28(土) 05:08:28ID:???
AddType appliationの設定もあってるよな?
0297nobodyさん2006/10/28(土) 05:11:43ID:???
>>293
試しに php.ini-dist をコピーしてみるとか。
0298nobodyさん2006/10/28(土) 05:13:41ID:???
>>285
ソースを
<?php
phpinfo();
?>
に書き直せ。
recommended設定ならshort_open_tagはOFFになってるはずだから
<? 〜 ?>ではPHPコードとして解釈されない。
02992852006/10/28(土) 05:23:51ID:???
>>298
おおおおおおありがとうございます!
書き直したら実行されました!勉強になりました・・。

>>296
はい、あっていました。

>>297
試していませんが、distのほうはshort_open_tagがONなので動くと思います・・。最初に試せばよかったですね・・。

>レスをくれた皆様へ
夜遅くに(もう朝ですが)ありがとうございました。
おかげで無事解決しました!
0300nobodyさん2006/10/28(土) 05:24:05ID:???
>>298=神
それだ!
0301nobodyさん2006/10/28(土) 05:24:44ID:???
たのむ気になって寝られないんだよ。解決したら発表してくれ〜
0302nobodyさん2006/10/28(土) 05:30:08ID:???
単に「phpinfo()も動きません」ではお蔵入りになるとこだったな。<よくある
ちゃんと動かないソースも晒したからこそ比較的早く解決したんだと思う。
0303nobodyさん2006/10/28(土) 05:50:54ID:???
>>299
よかった、これであと30分ごにねられる
つД`)
0304nobodyさん2006/10/28(土) 07:21:08ID:???
>>284
PHP質問スレ・・懐かしいな

1000まで埋まり次スレどうしようか?って時に、
スレ立てを躊躇して結局立てれなかったんだよなぁ・・。
0305nobodyさん2006/10/28(土) 08:02:17ID:???
あっちのスレも時々見てたけど、当時は両スレとも痛々しい空気だったな。
お互いのスレを煽りあう(?)みたいな雰囲気で。
0306nobodyさん2006/10/28(土) 09:59:36ID:???
下らねぇ質問はここに書き込みやがれスレの認定の回答者になるには
いままででてきた質問に全部答えられないと認めてくれませんか?
0307nobodyさん2006/10/28(土) 10:02:24ID:???
なんだその認定の回答者ってw
0308nobodyさん2006/10/28(土) 10:10:32ID:???
ちょっと前までは質問オンリーだったんですけど、
最近は調べて回答するようにしたんです。そしたら勉強になってしまって。
回答オンリーの方はさぞご経験をつまれていると思います。
自分もそんな先輩方近づき、一人の回答者になりたいです。
それが夢でございます。
0309nobodyさん2006/10/28(土) 10:11:51ID:???
このスレにいることに誇りを感じるんです。
0310nobodyさん2006/10/28(土) 10:13:38ID:???
強引に変な流れに持って行くなw
0311nobodyさん2006/10/28(土) 13:26:50ID:???
ここのスレはいい人ばかりで大好きです。
ありがとう。
0312nobodyさん2006/10/28(土) 15:12:16ID:???
これって新手の荒らしなのか?
まさかおもしろいとか思っt(ry
0313nobodyさん2006/10/28(土) 15:26:33ID:???
>>312
そういうことはあまりかかないほうがいいって
0314nobodyさん2006/10/28(土) 16:00:44ID:???
シンジラレナーイ!
0315nobodyさん2006/10/28(土) 16:04:57ID:???
ショッピングサイトとかの検索移動履歴ってどうやって保持しているのかな。

yahoo だと リクエストパラメータがすべて/で区切られていて
実際はフォルダ階層ではないだろうけど、フォルダ階層のように表示されて分かりやすいし。

Ethna使っているんだけど、そういうのは無理らしいんだよね。

かといって、たとえば 関東、東京都、渋谷区と検索した場合に、リクエストパラメータが
region=01&prefecture=02&city=03 ってのは見た目が悪すぎるし。

どうすればいいの?
03163152006/10/28(土) 16:14:39ID:???
あと、っこれyahooオークションのページなんだけど、検索バーの下に
移動履歴があるでしょ。

http://list4.auctions.yahoo.co.jp/jp/2084008049-category.html

あれって、hiddenタグで保持していないし、
本、雑誌、 雑誌  ファッション という文字と、URLの関連付けは
どこで設定しているのかな。

誰か教えてください。
0317nobodyさん2006/10/28(土) 16:30:10ID:???
(;^ω^)また暴れ出しそうなタイプのバカですか?
0318nobodyさん2006/10/28(土) 16:34:04ID:???
>>317
答えられんやつのほうがバカだと思うが。
0319nobodyさん2006/10/28(土) 16:36:04ID:???
荒れる原因をつくってるだろ。この文。

(;^ω^)また暴れ出しそうなタイプのバカですか?
0320nobodyさん2006/10/28(土) 16:37:56ID:???
>>317が機嫌悪くなるのもわかるが>>315の聞き方も見下してる書き方で悪い。
スルーしる。
03213152006/10/28(土) 16:40:18ID:???
ちょww お前らこれで見下しているってどれだけネクラなんだよww
てか俺より頭悪そうだから、もういいや(笑

0322nobodyさん2006/10/28(土) 16:50:04ID:???
えらそう
0323nobodyさん2006/10/28(土) 16:50:58ID:???
入門向けの本に載ってることを利用すればいいだけなのに・・・
0324nobodyさん2006/10/28(土) 16:55:58ID:???
発想が貧困なんですよ、きっと
0325nobodyさん2006/10/28(土) 17:12:58ID:???
>>315はかなりのツンデレ。

自分が聞きたい事を素直に聞けないでどうしても妙に遠回しな表現にしてしまう。
多分今頃自己嫌悪で顔真っ赤。ベッドに飛び込んでじたばたしてるに違いない。

というかこんな事も分からない奴がショッピングサイトとか流石にネタだろ(´・ω・`)
0326nobodyさん2006/10/28(土) 17:29:39ID:???
その前に大前提として、質問するならIDを出せ、と。
0327nobodyさん2006/10/28(土) 17:45:06ID:???
vipperだらけかよ
0328nobodyさん2006/10/28(土) 18:25:12ID:???
レッツPHPさんの i-bbsスクリプトを使用していて、今回新たにサンプルを利用させてもらおうと思ったのですが、ローカルで掲示板に書き込みを行うと、なぜか
http://www.answers.com/のページに飛ばされてしまいます(送信ボタンを押したときなどに。ただし書き込みは正常に行われてる様子)
他のp-bbsなどでもなるので、自分のPCのせいかともおもいましたが、他サイトさんの掲示板スクリプトで試すと何の問題もありませんでした。

これって自分のPCがわるいのでしょうか?
レッツPHPさんのスクリプトを他に使ってる方でこんな症状がでるかたいますか?

WinXPでFirefox使用
なお、IEで同様にローカルで書き込みしようとすると「ページが表示できません」とでます
0329nobodyさん2006/10/28(土) 19:16:57ID:???
PHPの力で明日の天皇賞の勝ち馬を導き出せませんかね?
0330nobodyさん2006/10/28(土) 19:20:16ID:???
まぁほんとにレヴェルの高い人は2chなんて見てないしな。
03312502006/10/28(土) 19:29:57ID:Owjys+/6
>>251 >>252
ありがとうございます。あってもなくてもいいということですね。
でもこれには一体どんな意味や機能があるんでしょう?
0332nobodyさん2006/10/28(土) 19:31:35ID:???
>>315
POSTで渡してセッション入れとけばいい。
俺もWEB始めて1ヶ月くらいの頃はGETとかhiddenで持ち回してた。

最初の頃のソース一応持ってるけど、それ見ると「あぁ、この頃は若かった」って思うよね。
0333中三2006/10/28(土) 19:37:53ID:???
>>329
<?php

$deep_impact = $_HORSE['WINNER'];
$fp = fopen('おまえの頭の中身.txt',w);
fputs($fp,$deep_impact);
fclose($fp);

?>
0334nobodyさん2006/10/28(土) 19:52:11ID:doQnvF3Z
フレームページでの質問ですけど

1.フレームページ index.php
2.メインページ  main.php
3.トップページ  top.php

の構成でメインページ(main.php)で表示されている
外部HTMLページをトップページ(top.php)にあるボタンを押す事で
メインページ(main.php)のファイルやURL等をを取り込んだり
する事は出来るでしょうか?
0335nobodyさん2006/10/28(土) 20:01:25ID:???
>>334
もう少し分かり易い"下らねぇ質問"をすることは出来るでしょうか?
0336nobodyさん2006/10/28(土) 20:15:48ID:doQnvF3Z
すいまんせ、これ以上は・・・・
善処いたします。
0337nobodyさん2006/10/28(土) 21:14:26ID:???
政治家かい?

で、メインページに表示しているHTMLのURLとコンテンツをPHPの変数に取得したい
ということか?
URLが分かれば、file_get_contentsとかcurlでとれるよ
0338nobodyさん2006/10/28(土) 21:18:39ID:doQnvF3Z
おぉぉ、ありがとうですm(_'_ )m波平ペコッ
そういう事をしたかったのです!!
0339nobodyさん2006/10/28(土) 21:18:45ID:RGmX0RKo
すみません
PEARモジュールをインストールしてtgzをLhaplusで解凍
するとxmlになるんですが一般の解凍ソフトは無理なんでしょうか..?
0340nobodyさん2006/10/28(土) 21:34:50ID:???
xmlもまあ入ってるがそれ以外にフォルダが入ってるはずなんだが
0341nobodyさん2006/10/28(土) 21:36:39ID:xtWbOPh4
ちょっとjavaプログラミングでわからないことがあるので教えてください。
スレ違いならごめんなさい。

Stringbuffer ques1 = new Stringbuffer(100);
Stringbuffer ques2 = new Stringbuffer(100);

ques1.append("hoge");
ques2.append("choko");

for(i=1;i<3;i++)
System.out.println(ques + "i");

とやれば、hogeとhageガ表示されると思いましたが、このままだと
ただの文字列なので、ques1 ques2と表示されるだけです。
なにか、このような方法でques1と2の内容を表示する方法ないですか?
0342nobodyさん2006/10/28(土) 21:39:37ID:???
>>341
はいはい、釣り乙釣り乙

スレタイ嫁
03433342006/10/28(土) 21:44:11ID:doQnvF3Z
ふたたびすいません。ちなみに
>>337
さんの
>で、メインページに表示しているHTMLのURLとコンテンツをPHPの変数に取得したい
>ということか?
>URLが分かれば、file_get_contentsとかcurlでとれるよ
のところで
URLが分からない場合は何か良い方法はないですか^^;
0344nobodyさん2006/10/28(土) 21:46:40ID:???
どうやって、メインページに表示してるの?
0345nobodyさん2006/10/28(土) 21:48:20ID:RGmX0RKo
>>340
xmlだけなんですよね。。なんでだろう
他の解凍ソフトでも試してみます。。
0346nobodyさん2006/10/28(土) 23:17:36ID:WdiFJULn
$name_a = array('りんご', 'ばなな', 'すいか', 'すいか', 'りんご');
$test_a = array('あか', 'きいろ', 'みどり', 'きいろ', 'あお');

for($loop = 0;$loop < count($name_a);$loop++) {
echo $name_a[$loop].'は'.$test_a[$loop].'<br>';
}

この場合5通り出力されますがこれを
$name_aの中で重複しているものに関しては1つだけを出力し
その場合の対となる$test_aからはランダムに選択したいのですが
どのようにすれば良いでしょうか?

出力結果の例1
りんごはあか
ばななはきいろ
すいかはきいろ

出力結果の例2
りんごはあお
ばななはきいろ
すいかはみどり

アドバイス頂けましたら幸いです。
0347nobodyさん2006/10/28(土) 23:46:56ID:???
array_unique() 配列から重複した値を削除する
array_rand() 配列から一つ以上の要素をランダムに取得する

マニュアルのV. 配列関数(array)嫁
03483342006/10/28(土) 23:48:12ID:doQnvF3Z
>>344
えっと、
1.トップのハイパーリンクからリンクしてメインに表示させて
2.メイン内で外部HTMLから更にハイパーリンク
3.ハイパーリンク行えば表示された2回目の外部HTMLの情報を
とりこみたいのですけど^^;

メインページは
<html>
<title>メインページ</title>
<frameset rows="64,*,64">
<frame name="top" scrolling="no" noresize target="contents" src="とっぷ.php">
<frameset cols="150,*">
<frame name="contents" target="main" src="メイン.php">
</frameset>
<frame name="bottom" scrolling="no" noresize target="contents" src="ind4.php">
<noframes>
<body>
<p>このページにはフレームが使用されていますが、お使いのブラウザではサポートされていません。</p>
</body>
</noframes>
</frameset>
</html>
みたいな感じです。
うーむ、また分かりにくいかもしれないですけど><
よろしこです^^;
0349nobodyさん2006/10/28(土) 23:51:11ID:???
>>346
$name_a = array('りんご', 'ばなな', 'すいか', 'すいか', 'りんご');
$test_a = array('あか', 'きいろ', 'みどり', 'きいろ', 'あお');

foreach (array_count_values($name_a) as $name => $count) {
 $color = $count == 1 ? $test_a[array_search($name, $name_a)] : $test_a[array_rand($test_a)];
 echo $name . 'は' . $color . '<br>';
}
0350nobodyさん2006/10/28(土) 23:52:45ID:WdiFJULn
>>347
それは理解しているのですが
組み合わせる事が出来なく困っています。
どうかヒントだけでもお願いいたします
0351nobodyさん2006/10/29(日) 00:03:57ID:???
>>348
全然意味がわからん。そもそも最初の、フレーム、トップ、メインてわけわからん。
せめてフレーム(トップ)、メニュー、コンテンツ(メイン)とかにしてくれ。
■ このスレッドは過去ログ倉庫に格納されています