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

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

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

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 78
http://pc11.2ch.net/test/read.cgi/php/1230026935/

◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】

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

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

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
0002nobodyさん2009/01/13(火) 21:48:55ID:???
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0003nobodyさん2009/01/13(火) 21:49:45ID:???
■過去ログ
【PHP】下らねぇ質問はID出して書き込みやがれ 78
http://pc11.2ch.net/test/read.cgi/php/1230026935/
【PHP】下らねぇ質問はID出して書き込みやがれ 77
http://pc11.2ch.net/test/read.cgi/php/1228667259/
【PHP】下らねぇ質問はID出して書き込みやがれ 76
http://pc11.2ch.net/test/read.cgi/php/1226517332/
【PHP】下らねぇ質問はID出して書き込みやがれ 75
http://pc11.2ch.net/test/read.cgi/php/1224168721/
【PHP】下らねぇ質問はID出して書き込みやがれ 74
http://pc11.2ch.net/test/read.cgi/php/1221909788/
【PHP】下らねぇ質問はここに書き込みやがれ 73
http://pc11.2ch.net/test/read.cgi/php/1220440493/
【PHP】下らねぇ質問はここに書き込みやがれ 72
http://pc11.2ch.net/test/read.cgi/php/1218855685/
【PHP】下らねぇ質問はここに書き込みやがれ 71
http://pc11.2ch.net/test/read.cgi/php/1216291372/
【PHP】下らねぇ質問はここに書き込みやがれ 70
http://pc11.2ch.net/test/read.cgi/php/1214356448/
【PHP】下らねぇ質問はここに書き込みやがれ 69
http://pc11.2ch.net/test/read.cgi/php/1211879073/
【PHP】下らねぇ質問はここに書き込みやがれ 68
http://pc11.2ch.net/test/read.cgi/php/1209822736/
【PHP】下らねぇ質問はここに書き込みやがれ 67
http://pc11.2ch.net/test/read.cgi/php/1207863515/
【PHP】下らねぇ質問はここに書き込みやがれ 66
http://pc11.2ch.net/test/read.cgi/php/1205655807/
【PHP】下らねぇ質問はここに書き込みやがれ 65
http://pc11.2ch.net/test/read.cgi/php/1203854597/
0004nobodyさん2009/01/13(火) 21:50:55ID:???
関連リンク
■本家マニュアル   http://www.php.net/manual/ja/
■日本PHPユーザ会 http://www.php.gr.jp/
■PEARマニュアル  http://pear.php.net/manual/ja/
■メーリングリスト   http://ns1.php.gr.jp/mailman/listinfo/
■ZFマニュアル    http://framework.zend.com/manual/ja/
■Smarty       http://www.smarty.net/manual/ja/

(以下英語)
■Smarty       http://www.smarty.net
■Zend本家      http://www.zend.com/
■Zend Framework  http://framework.zend.com/
■php | architect   http://www.phparch.com/
■Smartyマニュアル http://smarty.php.net/manual/en/
■PECL本家(英語) http://pecl.php.net/
0005nobodyさん2009/01/13(火) 21:51:16ID:???
【簡易FAQ】
1.文字コードは何を使えばいいの?
 →1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
 → http://example.com/が例文などのために予約されている。hogehoge.comは使っちゃダメ。
3. ブラウザに何も表示されないんだけど・・・
 → Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
4. 記号の意味がわからないけどググりようがない
 → 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
  「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
 → {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
6. 一定時間ごとに自動的に何かしたいんだけど
 → cronかタスクスケジューラを使え。
7.extractって危険なの?
 →変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
8. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
 → URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
9.include/requireでURLを指定しても何も起きない
 → .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
0006nobodyさん2009/01/13(火) 21:51:45ID:???
10. そもそもインストールの時点でうまくいかない
 → 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
  Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
11. SQLの質問はどこで?
 → データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
 → ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
 → 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
 → よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
  http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40
15. クッキーの情報をユーザから隠したい
 → セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
 → strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
 → まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
 → C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
  参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(http://〜とか)を扱う際の限界
 → fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
  必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
 →19.を参照
21. 画像処理一般 or GDの限界
 → ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
 → 好きにしてください
0007nobodyさん2009/01/13(火) 22:02:41ID:???
スレ立てた人です。
すみません、>>4の修正が少し足りませんでした。

次スレでは>>4は↓をコピペした方がいいと思います。

---
関連リンク
■本家マニュアル   http://www.php.net/manual/ja/
■日本PHPユーザ会 http://www.php.gr.jp/
■PEARマニュアル  http://pear.php.net/manual/ja/
■メーリングリスト   http://ns1.php.gr.jp/mailman/listinfo/
■ZFマニュアル    http://framework.zend.com/manual/ja/
■Smartyマニュアル  http://www.smarty.net/manual/ja/

(以下英語)
■Zend本家      http://www.zend.com/
■Zend Framework  http://framework.zend.com/
■php | architect   http://www.phparch.com/
■Smarty       http://www.smarty.net
■Smartyマニュアル http://smarty.php.net/manual/en/
■PECL本家(英語) http://pecl.php.net/
0008nobodyさん2009/01/13(火) 22:26:50ID:???
http://www.google.co.jp/trends?q=php%2Cruby&ctab=0&geo=US&date=all&sort=0

逆転されました
0009nobodyさん2009/01/14(水) 00:52:59ID:OAWf+UCm
       //
     /  /   パカッ
     //⌒)∩__∩
    /.| .| ノ     ヽ
    / | |  ●   ● |     
   /  | 彡  ( _●_) ミ  まピョーん☆
   /  | ヽ  |∪|  /_
  // │   ヽノ  \/
  " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
0010nobodyさん2009/01/14(水) 01:32:23ID:???
       ,-┐
 ,ィ─、ri´^-─- 、 .┌f^f^f^f^f^f^f^f^f^┐
く  / , ,'   ヽ ヽ| ~ ~ ~ ~ ~ ~ ~ ~ ~│
 `<' / ,'レイ+tVvヽ!ヽト 知ってるが  │
  !/ ,' i |' {] , [}|ヽリ  お前の態度が |
  `!_{ iハト、__iフ,ノリ,n   気に入らない |
   // (^~ ̄ ̄∃_ア____n_____|
 _r''‐〈  `´ア/トr──!,.--'
<_>─}、  `」レ
'ヽ、   ,.ヘーァtイ
   Y、.,___/  |.|
    |  i `ー'i´
0011nobodyさん2009/01/14(水) 01:32:54ID:???
>>8
http://www.google.co.jp/trends?q=php%2Cperl%2Cruby%2Cpython%2CASP.NET&ctab=0&geo=all&date=all&sort=0
0012nobodyさん2009/01/14(水) 15:34:44ID:???
前スレ998
http://pc11.2ch.net/test/read.cgi/php/1230026935/998
> いやそれはお前が分からないだけだろ
> 素人の信頼性の低いblogや日記なんかを参考にするより20倍はマシ

おー、リファレンスを分かってる人がいたよ。
良かったらこの問題やってみてくれ。
http://pc11.2ch.net/test/read.cgi/php/1228709756/159
0013nobodyさん2009/01/14(水) 18:49:34ID:???
2chで祭りっぽくなった某番組のクレーム処理したことあるけど
お前らってまじで日本語しゃべれない奴いるのな
マジキチとかそういうんじゃなくて本当に言葉しゃべれないの
電凸するならテンプレぐらい読んでからかけろよ
「あああああの番組だけど・・・その・・・あの・・・あ、あやまれぇぇぇぇぇ!」て第一声は吹きそうなの必死にこらえたぞ
0014nobodyさん2009/01/14(水) 18:54:25ID:???
>>11
インドのASPだけ伸びがすごいね。
0015nobodyさん2009/01/14(水) 18:58:49ID:???
ほんとだ、それもかなり前から全域でだな。
0016nobodyさん2009/01/14(水) 20:14:13ID:EXueNIp4
ややスレチかもしれませんが…。

【OS】Windows Vista x64
【PHPのバージョン】5.2.8
【連携ソフトウェア】MySQL 5.0.32
【XAMPPのバージョン】1.7.0

PDOを利用して開発したものをXAMPP環境下で使用すると、Apacheもろとも強制終了してしまいます。
強制終了する箇所はquery(), execute()のSQL発行時なのですが、それもSELECT文に限ったものです。
INSERT, DELETEはもちろんのこと、SHOW TABLESなど結果セットが返るものも問題なく動作します。
組み込みのmysql_*関数では、このようなことは起きませんでした。
Vista x86環境下でも同様になったのですが、解決策がありましたらご教示お願いします。
0017nobodyさん2009/01/14(水) 20:27:49ID:???
XAMPP無しで試してみたら?
0018nobodyさん2009/01/14(水) 20:54:11ID:1y4fkYcF
【OS名】windows/linux
【PHPのバージョン】php5.2.8
【連携ソフトウェア】mysql5.1
【質問内容】
PDOでmysqlに接続しています。
UPDATEで更新した際に、更新した件数を取得する方法を教えてください。

PDO::exec()は件数を返すようですが、パラメータのバインドを使いたいので
prepareを使用した方法を探しています。

よろしくお願いします。
0019nobodyさん2009/01/14(水) 20:58:01ID:???
rowCount
0020nobodyさん2009/01/14(水) 21:06:22ID:1y4fkYcF
>>19
すばやい回答ありがとうございます。
rowCountはselect の件数を取得するものかと思っていたのですが、
そうではなかったのですね。

助かりました。ありがとうございます。
0021nobodyさん2009/01/14(水) 21:25:27ID:ASyGg75+
一つ質問させて下さい。
今PHPで入力UTF-8、出力SJISの携帯サイトを作ってるんですが
POSTから値を受け取りブラウザで表示させようとしたんですが
文字が何も表示されません・・
すいませんがよろしくお願いします。
<?
$tex = $_POST["a"];
echo mb_convert_encoding($tex,"SJIS");
?>
<form action="" method="post">
<input type="text" name="a">
<input type="submit" value="a">
</form>
.htaccessファイル↓
php_value default_charset "SJIS"
php_value output_handler mb_output_handler
php_value mbstring.internal_encoding "UTF-8"
php_value mbstring.http_input "UTF-8"
php_value mbstring.http_output "SJIS"
php_flag mbstring.encoding_translation On
0022nobodyさん2009/01/14(水) 21:31:58ID:???
mb_convert_encodingしないで、英数なら表示されるのかどうか、
とりあえず、それ試して。
short open tagは大丈夫だよね?
0023212009/01/14(水) 21:38:32ID:???
>>22
返信ありがとうございます。
半角英数はmb_convert_encoding指定するしない
両方とも表示されます。
short open tagはOnになってます。
0024nobodyさん2009/01/14(水) 21:41:57ID:???
したら入力文字列の文字コードチェックして、
mb_convert_encodingの第3引数に渡してみたら?
0025212009/01/14(水) 21:53:43ID:???
>>24
先程一度第3引数にUTF-8を指定してみましたが駄目でした・・
今文字コードをmb_detect_encoding($tex);と調べてみたら
ASCIIと表示されたのでmb_convert_encodingの
第3引数にASCIIと入れても駄目みたいです・・・。
0026nobodyさん2009/01/14(水) 21:57:00ID:EXueNIp4
>>17
XAMPPを使用しないで環境作ったら、何の問題もなく動作しました…。
XAMPPは良くも悪くも、手軽なものだということを痛感。

ありがとうございました。
0027nobodyさん2009/01/14(水) 22:53:00ID:Lx64uWRL
SQLの質問するのってどこでしたっけ?
板名を教えて下さい。
0028nobodyさん2009/01/14(水) 22:53:06ID:???
xampp(笑)
まじ初心者はxamppを使うのすすめる教本とかサイトはくたばれよ
0029nobodyさん2009/01/14(水) 22:58:07ID:???
http://pc11.2ch.net/db/
0030nobodyさん2009/01/14(水) 23:27:45ID:???
>>25
だめでした、じゃなくてさ、なんか表示されるんでしょ?
英数なら表示されるのに日本語が入ると何も表示されないの?文字化けでしょ?
「abcほげdef」とか入れてみたらどうなる?
0031nobodyさん2009/01/14(水) 23:34:03ID:sbd7PIk9
<?php
// ユーザIDとパスワードの組み合わせが正しい場合
for($i=0;$i<count($arrUser);$i++){
if($_POST["txtId"] == $arrUser[$i] && $_POST["txtPass"] == $arrPass[$i]){
header("Location:top.php");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
break;
}}

ここでIDとパスワードを入力します
しかし headerの指定が違うとでてしまいます
http://www.dotup.org/uploda/www.dotup.org10038.jpg
header("Location:相対パス指定");
と習ったのですが送信後、ジャンプさせてページに飛ばしたいんですが全く動きません
この情報だけで分かりますでしょうか?
0032212009/01/14(水) 23:43:32ID:???
>>30
abcほげdefをコピペで貼り付けたらabc?defと表記されました。
ただこの言葉以外だと例えば半角と全角を織り交ぜて入力した場合は
全角が消えて半角だけが表示されます。
もう少し頑張ってみます。
0033nobodyさん2009/01/15(木) 00:00:10ID:iReMhog8
phpで、MTで作ったブログから
・特定のカテゴリの記事一覧取得する(エントリタイトルとエントリ日時)
・そのカテゴリの記事の詳細を取得する
ってどうしたらいいんでしょうか?
各FWやPearは使えないという条件で参考になる情報・サイトをお願いします
phpのバージョンは5、MTは4.2です
自分でも探したんですが、いいのが見つかりません よろしくお願いします
0034nobodyさん2009/01/15(木) 00:06:59ID:gNc+jaUV
すみません、課題だらけで今日は寝れないので本当に助けを
http://www.dotup.org/uploda/www.dotup.org10093.jpg
phpマニュアルを読んでも、break;ではなくexit;を使うと余計悪化しました
もうどうすればいいかわかりません
0035nobodyさん2009/01/15(木) 00:15:34ID:???
>>34
headerの出力位置がおかしい
43行目から47行目までをHTML書き出す前に回せ
0036nobodyさん2009/01/15(木) 00:16:48ID:???
top.phpは直接呼ぶこともできる仕様か?
0037nobodyさん2009/01/15(木) 00:19:40ID:???
>>35
もしかして</head>をheaderにするの?

>>36
直接飛べない仕様です
0038nobodyさん2009/01/15(木) 00:29:46ID:???
328 名前: すずめちゃん(埼玉県)[] 投稿日:2009/01/14(水) 10:43:37.00 ID:WwgLtqYD

中身見たんだけど、特許庁サーバーへの接続手順かなぁ
だったら今回のお漏らしの最大の問題点
特許庁は大急ぎでサーバーODBCデータベースのパスワード変えないと

 ODBC.mdb

*参考
mdbのパスワードは既弱性があって一瞬で解除できる
フリーのツールでも所要時間ゼロ秒
0039nobodyさん2009/01/15(木) 01:09:04ID:???
>>37
header関数はそれ以前に何かが出力されてたら動かないんだよ?
このソースの場合はheader()の前に
<html>

<center>
までタグが出てるでしょ

<?php
header(〜〜);
?>
<html>
以下略

って形にしないとダメだと思う
0040nobodyさん2009/01/15(木) 02:05:11ID:???
>>39
やっと動きました><
めちゃ助かりました;
ありがとうございます
0041nobodyさん2009/01/15(木) 08:03:04ID:jJGEkYvb
配列を文字数で降順にソートしたいと思います。


array("あ", "いうえ", "おかきく", "けこ");

array("おかきく", "いうえ", "けこ", "あ");

そこで、配列に文字数を追加してarray_multisortしています。
うまく動いているのですがもっとスマートな方法はありませんでしょうか?

<?php
mb_language("Japanese");mb_internal_encoding("UTF-8");mb_regex_encoding("UTF-8");mb_http_output("UTF-8");

// 配列を文字数で降順に並び替えたい
$wordData = array("あ", "いうえ", "おかきく", "けこ");

// 文字数でソートする為配列に"文字数"を追加
for($i=0; $i<count($wordData); $i++) {
$setKeyword[$i][textCount] = mb_strlen($wordData[$i]);
$setKeyword[$i][word] = $wordData[$i];
}
print_r($wordData);

// 文字数で配列をソート
foreach($setKeyword as $key => $row){
$textCount[$key] = $row["textCount"];
}
array_multisort($textCount,SORT_DESC,$setKeyword);
print_r($setKeyword );
exit;
?>
0042nobodyさん2009/01/15(木) 08:23:25ID:???
function mb_strlencmp($a,$b) {
return mb_strlen($b) - mb_strlen($a);
}
usort($wordData,'mb_strlencmp');
こんな感じとか。
0043nobodyさん2009/01/15(木) 10:56:47ID:???
usort()だと比較のたびにコールバック関数とmb_strlen()が呼び出されるので効率が悪いよ。
性能ではarray_multisort()のほうが有利。特に配列が大きくなると顕著。
自分ならこういう風にまとめる。
<?php
$words = array("あ", "いうえ", "おかきく", "けこ");
$lengths = array_map('mb_strlen', $words);
array_multisort($lengths, SORT_DESC, $words, SORT_STRING);
print_r($words);
0044nobodyさん2009/01/15(木) 11:07:18ID:iReMhog8
short_open_tagがONになってるレンタルサーバで、これをOFFにしたいです
が、php.iniは操作できません
どうしたらいいでしょうか? よろしくお願いします
0045nobodyさん2009/01/15(木) 11:24:05ID:???
無理
0046nobodyさん2009/01/15(木) 11:35:44ID:???
ini_setでできるでしょ
0047nobodyさん2009/01/15(木) 11:38:10ID:???
スマソ。ミス
0048nobodyさん2009/01/15(木) 11:38:47ID:???
>>46
PHP_INI_PERDIR、PHP_INI_SYSTEM
おk?
0049nobodyさん2009/01/15(木) 12:36:45ID:???
short_open_tag          "1"          PHP_INI_ALL          PHP <= 4.0.0 で PHP_INI_ALL、PHP < 5.3.0 で PHP_INI_PERDIR
となってるわけだが?
INI_ALLならini_setでできるしPERDIRなら.htaccessで出来る
0050nobodyさん2009/01/15(木) 12:43:49ID:???
4.0.0の環境はないだろ、いまどき
0051nobodyさん2009/01/15(木) 12:57:25ID:???
ini_setではshort_open_tagはPHP_INI_ALLではないよ
0052nobodyさん2009/01/15(木) 12:58:35ID:???
ttp://cai.cs.shinshu-u.ac.jp/sugsi/Lecture/php/manual/function.ini-set.html
0053nobodyさん2009/01/15(木) 13:02:09ID:???
>>52
んな変なところのマニュアル出すなよw
http://jp.php.net/manual/ja/ini.core.php

で、結局どれ?
5.3未満ならPHP_INI_PERDIRに見える訳だが
0054nobodyさん2009/01/15(木) 15:16:12ID:bfe4hoTd
誰かお願いします
phpでGUIが作りたいんですけどスケルトンの作り方がわかりません
おしえてください
0055nobodyさん2009/01/15(木) 15:35:50ID:???
マルチ乙
0056nobodyさん2009/01/15(木) 15:55:57ID:bfe4hoTd
いえいえ^^;まだまだ努力が足りません^^;
勉強熱心なもので頑張って書き込みしてみました
0057nobodyさん2009/01/15(木) 16:12:09ID:???
お前は何を言っているんだ。
0058nobodyさん2009/01/15(木) 16:56:54ID:QYLE8cY6
$array01[0]["aaa"] = "1";
$array01[1]["aaa"] = "2";

$array02[0]["bbb"] = "3";
$array02[1]["bbb"] = "4";

こういう配列があるのですが、これを1つの配列としてまとめたいと思います。
array_mergeを使っても上手く結合できませんでした。
どうすればいいのでしょうか?
0059nobodyさん2009/01/15(木) 17:04:52ID:1cJi3m+C
【OS名】FreeBSD
【PHPのバージョン】php5
【連携ソフトウェア】無
【質問内容】

利用を考えているレンタルサーバーのPHPが一般的なモジュール方式ではなく
CGIラッパーを採用しているとのことです。その方がだれがどれだけプロセスを
占有してるかわかりやすいからだそうです。

利用者の立場から見ますとCGIラッパーでの動作において留意すべき点はありますか?
当方素人PHPプログラマーなのでそれほど高尚なテクニックを使いこなせてるわけでは
ないのであまり関係ないかも知れませんが動作上の制約等がありましたら教えてください。
0060nobodyさん2009/01/15(木) 17:22:19ID:???
land.toですね
0061nobodyさん2009/01/15(木) 17:38:00ID:???
>>58
うまく、の定義が分からないけど、 array_merge_recursive() でどう?

array(4) {
  [0]=>
  array(1) {
    ["aaa"]=>
    string(1) "1"
  }
  [1]=>
  array(1) {
    ["aaa"]=>
    string(1) "2"
  }
  [2]=>
  array(1) {
    ["bbb"]=>
    string(1) "3"
  }
  [3]=>
  array(1) {
    ["bbb"]=>
    string(1) "4"
  }
}

これでダメなら、自分で関数を書くしかないんじゃないかな。
0062nobodyさん2009/01/15(木) 17:58:17ID:VAt5f5cR
>>58
ためしてないから動かないかも知れないが

function abs($a, $b) {
return $a = $a + $b;
}

$ary= array($array01,$array02);
array_reduce($ary, "abs");
0063442009/01/15(木) 18:01:24ID:???
>>45-53
皆さん色んな意見くれてありがとうございます
参考に.htaccessで設定したところ、うまくいきました ありがとう
0064582009/01/15(木) 18:09:04ID:???
>>61
$array[0]["aaa"] = "1";
$array[0]["bbb"] = "3";
$array[1]["aaa"] = "2";
$array[1]["bbb"] = "4";

こういうふうにまとめたいんです。
やっぱり、foreachで一度すべて出力して
新たな配列に代入する方法しかないのですかね・・。

>>62
Cannot redeclare abs() というエラーが出ました
0065nobodyさん2009/01/15(木) 18:17:00ID:???
>>64
最初から書け
0066nobodyさん2009/01/15(木) 18:18:28ID:???
$array01とか$array02みたいな使い方がきめえ
0067592009/01/15(木) 18:40:31ID:1cJi3m+C
>>60
> land.toですね

アハハ、わかりましたか(*´∀`)

CGIラッパーをうたうレンタルサーバーはあまり見たことがなかったので気になって質問した次第です。

ちなみにCGIラッパーの場合でも、html中に<?php ?>タグでPHPプログラムを仕込ませることは可能でしょうか?
それとも完全に実行ファイル形式としてのみ運用できるということですか?
0068582009/01/15(木) 18:41:55ID:???
01とか02とか言う書き方しろって習ったのですが・・・
0069nobodyさん2009/01/15(木) 18:45:56ID:???
>>64
数値添字にインデックス以上の意味を持たせようという設計がまずいかと。
ユーザーIDとか別の意味があるなら文字列で格納してみたら?

が、array_walk_recursiveでできるでしょう。
0070nobodyさん2009/01/15(木) 18:50:36ID:???
$array[1],$array[2]ならまだしもw
$array02とかはないわw
やめたまえそんな使い方
0071nobodyさん2009/01/15(木) 19:04:18ID:???
苦節2か月、ようやく、データーベースに
格納した数値を取り出して、画面に表示する方法がわかった。

<?php
$dsn = 'sqlite:C:/aaa'; //データーベースの定義情報
$pdo = new PDO($dsn);//データーベースをオープンしてハンドルゲット

$sql = //SQL文
"SELECT count//フィールド名指定
FROM bookmark//テーブル名
where id=1";//id=1のレコードを指定

$entries = $pdo->query($sql);//SQLクエリー実行
$entry = $entries->fetch() ;//よくわからんがデーターを取得してる?
print $entry["count"];//連想配列なのでキーを指定して表示
?>
0072nobodyさん2009/01/15(木) 19:05:19ID:???
ブログに書け
0073nobodyさん2009/01/15(木) 19:05:59ID:???
あ、ブログに書いても誰も見てくれないからここで荒してるんだっけか、スマンスマン
0074nobodyさん2009/01/15(木) 19:06:28ID:???
データー構造
データーベース sqlite3

データーベース名 aaa
テーブル名bookmark
テーブル構造
id | count
1 | 20

データーベース接続方法 PDO
プリペアードステートメント 今回は使ってない
0075nobodyさん2009/01/15(木) 19:07:33ID:???
お前らの教え方がへぼくっても
ちゃあんとプログラムは書けるってこと。
ざまあみろ。
0076nobodyさん2009/01/15(木) 19:17:40ID:???
>>64

$array01[0]["aaa"] = "1";
$array01[1]["aaa"] = "2";
$array02[0]["bbb"] = "3";
$array02[1]["bbb"] = "4";

function intMerge(&$arrayTo, $key, &$arrayFr)
{
$arrayTo = array_merge($arrayTo, $arrayFr[$key]);
}
$result = $array01;
array_walk($result,"intMerge", $array02);
print_r($result);
0077nobodyさん2009/01/15(木) 19:23:34ID:???
>>75
プログラマーはまず「否定」から入る。
これは俺が接した人間、利用した掲示板全てで同じ行動だった

それを覚えておけば質問するのも怖くないよ^^
0078nobodyさん2009/01/15(木) 19:26:12ID:???
>>77
ところがアメリカ人のプログラマーはそうではない。
ジャップは死ねってこと。

ジャップは死ね!
ジャップのプログラマーは死ね!

ただし東大のプログラマーは親切になんでも教えてくれる。
だから東大のプログラマーだけは生きて良し。
0079nobodyさん2009/01/15(木) 19:27:37ID:???
自演乙
0080nobodyさん2009/01/15(木) 19:29:24ID:R8RK6Tzt
あの
0081nobodyさん2009/01/15(木) 19:37:55ID:R8RK6Tzt
food.datにジャンル・名前という形のデータをcsvで記録してます
1が食べ物、2が電化製品、3が本類、4が人名を置いてます

「food.dat」
1,オレンジ
2,テレビ
3,ミステリー小説
4,橋本大樹


これをジャンル別に分け、
1のジャンルは配列$ary1へ、2のジャンルは配列$ary2へ
3のジャンルは配列$ary3へ、4のジャンルは配列$ary4へそれぞれ格納したいと思います

foreachで回してifで振り分ければできるのですがもっと効率の良い書き方をしたいです
お手数をおかけいたしますがどなたかご教授お願いいたします
0082nobodyさん2009/01/15(木) 19:56:00ID:???
どういうデータ構造だそれ?
0083nobodyさん2009/01/15(木) 20:07:58ID:???
ブラウザー戦争の歴史を「兵士の旗」で表すイラスト
http://wiredvision.jp/news/200901/2009011518.html
0084nobodyさん2009/01/15(木) 20:08:55ID:???
id|食べ物|電化製品|本類|人名
___________________


こうじゃね?
0085nobodyさん2009/01/15(木) 20:09:27ID:???
まあプライマリーキーはないかもしれないけど
0086nobodyさん2009/01/15(木) 20:14:14ID:???
>>84
何の個体を表すレコードなのかさっぱり分からんw
0087nobodyさん2009/01/15(木) 20:24:03ID:???
http://phpspot.net/php/man/php/ref.pdo.html

警告

「PDO コンストラクタからの例外をアプリケーシ
ョン内でキャッチしない場合、 zend エンジンは
スクリプトの実行を終了し、バックトレースを表
示します。 このバックトレースを見れば、デー
タベースへの接続の詳細がわかってしまいま
す。 その中にはユーザ名やパスワードも含ま
れます。 (catch 文を使用して) 明示的に例外
をキャッチするか、 あるいは set_exception_ha
ndler() を使用して 暗黙的に例外をキャッチす
るようにしましょう。 」


-------------------------------------------------
↑この仕様って、結構困るんだけど。
0088nobodyさん2009/01/15(木) 20:24:57ID:???
何お前、勝手にパスワードを表示してんだよ、っていう。
0089nobodyさん2009/01/15(木) 20:27:55ID:???
最終的に例外を捕捉しないプログラム書くつもりなのか。ふーん。
0090812009/01/15(木) 21:00:32ID:???
データ構造は「ジャンルID|データ|ここで改行」です
どなたか助けてください
0091nobodyさん2009/01/15(木) 21:05:50ID:???
>>90
ジャンルって何?もしかしてIDのこと?
ファイル名がfoodってどういうこと?
ジャンル・名前なの?ジャンル|データなの?
あと>>1
0092nobodyさん2009/01/15(木) 21:10:10ID:GvZc4PNy
PDOでデーターをデーターベースから
取得するときは、かならずfetchしないとダメなの?
0093812009/01/15(木) 21:11:20ID:uz1526AD
すいませんID出し忘れました 電話回線なのでID違いますが同一人物です

ファイル名は食べ物を使うから付けただけで深い意味はないです
ジャンルはIDのことです

food.txtの中身は

1行目→1,オレンジ
2行目→2,テレビ
3行目→3,ミステリー小説
4行目→4,橋本大樹
5行目→2,ラジオ
6行目→4,坂本竜馬

こんな感じでデータは不規則に追加されていきます
0094nobodyさん2009/01/15(木) 21:16:40ID:???
[PEAR]HTTP_Request2 がリリースされました&簡単な使い方
http://d.hatena.ne.jp/sotarok/20081121/1227251508
0095nobodyさん2009/01/15(木) 21:21:06ID:???
>>81,93
こんな感じでいいかい

// food.dat の代わり
$uri = 'data:text/csv;charset=UTF-8;base64,MSzjgqrjg6zjg7PjgrgNCjIs44OG44Os4'
. '4OTDQozLOODn+OCueODhuODquODvOWwj+iqrA0KNCzmqYvmnKzlpKfmqLkNCjEs44Ki44OD4'
. '4OX44OrDQoyLOODrOOCs+ODvOODgOODvA==';

$table = array();
$fp = fopen($uri, 'r');
while (($cols = fgetcsv($fp)) !== false) {
  $table[(int)$cols[0]][] = $cols[1];
}
fclose($fp);
echo file_get_contents($uri), PHP_EOL, var_export($table, true);

// ジャンル別にローカルスコープへ展開
// foreach ($table as $genre => $items) {
//  $var = 'ary' . $genre;
//  $$var = $items;
// }
// var_dump($ary1, $ary2, $ary3, $ary4);
0096nobodyさん2009/01/15(木) 21:26:31ID:???
>>93
fileとexplode
0097nobodyさん2009/01/15(木) 21:35:45ID:uz1526AD
>>96さんこういうのですか?
$file = file("food.txt");
foreach($file as $v) {
$a=explode(",",$v);
switch($a[0]) {
case 1:$ary1[]=$v;break;
case 2:$ary1[]=$v;break;
case 3:$ary1[]=$v;break;
case 4:$ary1[]=$v;break;
}

>>95さんのやり方すごいですねっ!勉強になりました
ありがとうございました
0098nobodyさん2009/01/15(木) 21:38:42ID:???
なんでswitchなんか入れる必要あるねん
0099nobodyさん2009/01/15(木) 21:43:33ID:uz1526AD
疑問に思ったのですがファイルを読み取り専用で開いたときはロックはしなくても大丈夫でしょうか?
0100nobodyさん2009/01/15(木) 21:45:38ID:???
いいえ
0101nobodyさん2009/01/15(木) 21:52:37ID:???
俺も考えてみたが>>95には負けたわ
なにやってるのかコードみてもさっぱりわかんねw
■ このスレッドは過去ログ倉庫に格納されています