【PHP】下らねぇ質問はここに書き込みやがれ 64
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/02/09(土) 14:51:11ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 61
http://pc11.2ch.net/test/read.cgi/php/1201425479/
◆質問する時の注意
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を必ず明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくはトリップをつける事。
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0720nobodyさん
2008/02/20(水) 15:23:36ID:???本当に下らない質問だな。
0721nobodyさん
2008/02/20(水) 15:24:16ID:0elSO0M+本当にくだらない答えだ
0723nobodyさん
2008/02/20(水) 15:25:04ID:???0725nobodyさん
2008/02/20(水) 15:27:38ID:0elSO0M+住所最適化のために住所データベースより該当する行を取得しているんだけど、
京都府京都市大阪〜みたいな変な住所があったorz
複数キーワードを用意して、一番多くマッチした行の順番で返しているから、
「大阪」だけだと、「京都府京都市大阪」も「大阪府大阪市」も返ってくる。
0726nobodyさん
2008/02/20(水) 15:28:56ID:???0727nobodyさん
2008/02/20(水) 15:30:23ID:0elSO0M+見事に岐阜県岐阜市芥見海戸山が一番上に\(^o^)/
ハァ・・・
0728nobodyさん
2008/02/20(水) 15:35:10ID:???0729nobodyさん
2008/02/20(水) 15:39:48ID:???0730nobodyさん
2008/02/20(水) 15:48:12ID:???そうやるのが定石だよね。
ちなみに住所名データは郵便番号との対応表という形で日本郵便からDLできる。参考まで。
http://www.post.japanpost.jp/zipcode/download.html
遷都したら東京府になる(戻る)のかな?
0731nobodyさん
2008/02/20(水) 15:48:30ID:???0732nobodyさん
2008/02/20(水) 15:50:19ID:???0733nobodyさん
2008/02/20(水) 15:56:52ID:???0734nobodyさん
2008/02/20(水) 16:24:42ID:???0735nobodyさん
2008/02/20(水) 17:12:38ID:???0737nobodyさん
2008/02/20(水) 17:21:14ID:???0738nobodyさん
2008/02/20(水) 17:21:19ID:???0739nobodyさん
2008/02/20(水) 17:25:24ID:???俺は4万件だったけど、おおよそ郵便番号使って分けた後、
入力ミスや合併前等は人海戦術だった。
0740nobodyさん
2008/02/20(水) 18:04:32ID:???都道府県
市町村
それ以下
の三つで入れてもらえば良くね
って後処理の話だっけ?
0741nobodyさん
2008/02/20(水) 18:23:15ID:???0742nobodyさん
2008/02/20(水) 18:33:27ID:0elSO0M+memory_limitの無制限は可能ですか?
0743nobodyさん
2008/02/20(水) 18:51:43ID:6Ca7eWC6というのがあって、この値を1, 2に入れ替えたいのですが、
直感的に、
$array[0] = $array[1];
$array[1] = $array[0];
という風に書いてしまうと、両方1になっていまいます。
それで記憶用の変数を用意し、
$i = $array[0];
$array[0] = $array[1];
$array[1] = $i;
のようにすると思ったとおりになってくれるのですが、
もっと適切な書き方はありませんか?
他言語でも応用するので、PHP特有の書き方やPHP関数の使用ははなしの方向でお願いします。
0744nobodyさん
2008/02/20(水) 18:53:12ID:0elSO0M+0745743
2008/02/20(水) 18:56:21ID:???それはPHPのネイティブ関数なので・・・
それと説明足りませんでしたが、ただ単に逆順にいれかえるというわけではないです。
0746nobodyさん
2008/02/20(水) 18:58:43ID:???アセンブラとかするならもっと細かく書くけど、
ってか関数かしちゃえばいいんじゃない?
0747nobodyさん
2008/02/20(水) 18:58:48ID:???0748743
2008/02/20(水) 19:04:59ID:???JavaとVBです。
各言語の関数等をつかうか、作るかしかないですかね。
左辺と右辺を交換できるような、どの言語でも実装されてる演算子みたいのがあれば一番いいのですが。
$array[0] ⇔ $array[1]みたいな。ないですよね、そんなの。
>>747
すみません。一応PHPでやっていたので。
質問に書き方の制約がついても問題ないかと思いまして。
0749nobodyさん
2008/02/20(水) 19:06:10ID:???0751nobodyさん
2008/02/20(水) 21:13:53ID:???本当の馬鹿に対する可読性が心配になるので避けがちだな
>ただ単に逆順にいれかえるというわけではない
の内容が分からん事にはなんとも
0753nobodyさん
2008/02/20(水) 22:18:57ID:???0754nobodyさん
2008/02/20(水) 22:22:07ID:???コマンドラインから実行するときに、
メインで実行される暗黙のメソッドはないのでしょうか?
javaでいうmainメソッドみたいなものです。
アドバイス宜しくお願いします
0755754
2008/02/20(水) 22:22:29ID:KIJWvRfX0757754
2008/02/20(水) 22:32:39ID:KIJWvRfX無いですか...
class_Cというクラスがあり、コマンドラインから
$ php ./class_C.php
と実行すると、
class_C内の特殊なメソッドが呼ばれるようなイメージです。
$ java ./classC
とやると、自動的にclassC内のstatic void mainが呼ばれるようなイメージです。
コマンド内からphpクラスのコードを実行する方法が思いつかないので。
0759nobodyさん
2008/02/20(水) 22:36:29ID:???public static function mainでも作って書いておけば?
無理にjavaのマネする必要なくね?
0760754
2008/02/20(水) 22:40:26ID:KIJWvRfXやっぱりないですか...
既に作ってあるクラスがありまして、
それをシェルから呼びたいのですが、
何かいい方法がないかと思いまして。
クラスを作り直すのはできれば避けたいのですが、やっぱりダメそうですね。
ありがとうございました。
0762nobodyさん
2008/02/20(水) 22:53:15ID:???0763754
2008/02/20(水) 23:02:54ID:KIJWvRfXイメージ的には、これをcronデーモンから実行させるイメージでした。
-----------------------------------------------------------
#!/bin/sh
/usr/local/bin/php /public_html/hogehoge/MainClass.class.php
exit
-----------------------------------------------------------
クラスではなくベタ書きならうまくいくのですが、
そのクラスは既にテスト済みで、そのファイルだけクラスじゃないのは、ちょっとと思いまして。
>>762
すみません、それはどういうような機構でしょうか?
宜しければ、その方法をアドバイスいただけないでしょうか?
0764nobodyさん
2008/02/20(水) 23:06:04ID:???だからそのMainClass.class.phpでどのように
そのクラスを実行する設計を?
定義して放置プレイ?
0765754
2008/02/20(水) 23:33:51ID:KIJWvRfXMainClass.class.phpは、実行するクラスではなくて、
実装される側のクラスのことです。
実行主体はcrondです。できれば、MainClass.class.php内部はいじらずにできればいいのですが、厳しいそうですね。
0766nobodyさん
2008/02/20(水) 23:40:54ID:???球技(言語)が変わったらその言語の基本くらいは勉強しろカス
ってことで>>8
0767nobodyさん
2008/02/20(水) 23:46:42ID:???しかし、今更zlibが必要になってしまったのですが、再インストールするしかないのでしょうか?
バージョンはPHP5.2.5です。
よろしくお願いします。
0768nobodyさん
2008/02/21(木) 00:11:51ID:vEZx6YzIphp -r 'require "MainClass.class.php"; MainClass::main();'
みたいにしたら駄目なん?
0769743
2008/02/21(木) 00:14:20ID:???>>750
ありがとうございます。ではその方法でやることにします。
>>751
ビット演算子ですか。あれは難解なので避けてます・・・
でも参考になります。ありがとう。
>>758
もちろんJavaで配列のようなことはコレクション使いますけどね。
ただどうしても今回必要だったので…
というわけで>>750さんのアドバイスどおりにしたいと思います。
0770nobodyさん
2008/02/21(木) 00:14:30ID:???たしかCLIの時だけ、というかCLiで実行した事を判定できる変数かなんかがあるから。
その時だけ実行するロジックを組めばいいんじゃね
それすらも変更できないんなら知らん
0775nobodyさん
2008/02/21(木) 00:48:42ID:???0776nobodyさん
2008/02/21(木) 01:24:48ID:rvNkXnTF配列は連想でも多重でもない単純な形のものだとしてお願いします
0777nobodyさん
2008/02/21(木) 01:26:46ID:???0778nobodyさん
2008/02/21(木) 01:28:56ID:???0779nobodyさん
2008/02/21(木) 01:32:24ID:???PHPにmain関数などない
メソッドからはみ出たとこがmain関数だと思え
クラス。メソッド以外のすべてがmain関数でもある
main関数の中でクラスやメソッドを定義してるのと同じだ
0780nobodyさん
2008/02/21(木) 01:37:10ID:???クラスなんて使うなや?非効率もいいもんだ
なんの為のスクリプト言語やと思ってんだ
0781nobodyさん
2008/02/21(木) 01:39:01ID:???なんでクラス使うん?
0782nobodyさん
2008/02/21(木) 01:51:42ID:???PHPでなんぼ稼いだんや?
0783nobodyさん
2008/02/21(木) 01:57:25ID:???0784nobodyさん
2008/02/21(木) 02:14:34ID:???0785nobodyさん
2008/02/21(木) 03:20:41ID:???Example#2 再帰的な count() の例 (PHP >= 4.2.0)
<?php
$food = array('fruits' => array('orange', 'banana', 'apple'),
'veggie' => array('carrot', 'collard', 'pea'));
// 再帰的なカウント
echo count($food, COUNT_RECURSIVE); // output 8
// 通常のカウント
echo count($food); // output 2
?>
何故6でないのか謎すぎる。
0786nobodyさん
2008/02/21(木) 03:55:02ID:uBvv/k1HXAMPPをインストール後に以下の手順でエラーがでてしまうのですが、何が原因なのでしょうか???
1. Terminal shellに行って、システム管理者ルートでログインします。
sudo su
2. XAMPPをスタートするには、このコマンドをコールしてください:
/Applications/xampp/xamppfiles/mampp start
ここで、このような感じのエラーメッセージがでていまいます。
(No such file or directory, errno = 2)
XAMPP: Error 133! Couln't start ProFTPD!
ちなみにこの段階でXAMPP Control Panelを起動しようとすると「このシステムとは互換性がないためアプリケーションを起動できません」とメッセージが出てしまいます。
OSはMacOSX.2.8で、インストールしたのがXAMPP Mac OS X 0.7.2です。とても困っていますのでどなたかよろしくおねがいします。
0787nobodyさん
2008/02/21(木) 08:03:59ID:???あっちで答えちまった・・・
0788nobodyさん
2008/02/21(木) 08:38:59ID:???おまいら頑張って技術磨いとけよ!!俺の金の成る木なんだからな
0789514
2008/02/21(木) 09:16:22ID:FrueJpz5ある程度理解できました。
次は何をすればいいんですかね?
0791nobodyさん
2008/02/21(木) 10:25:29ID:v3nyJWBc40%ほど処理したところで
Fatal error: Out of memory (allocated 2001731584) (tried to allocate 37 bytes) in C:\xampp\php\PEAR\PEAR.php on line 863
のようなエラーが出ます。
これは何か変数に格納していって、それが溜まっているのでしょうか?
0792nobodyさん
2008/02/21(木) 13:53:21ID:mkhVTZDngetdateの引数に同じものを入れると更に9時間進んだ時間が取得されてしまいます。
getdate関数は自動的に国別の時間のずれを計算してくれるということでしょうか?
0794nobodyさん
2008/02/21(木) 13:58:06ID:mkhVTZDnということはgetdateはサーバの設定を見て東京標準であればそれで計算して
gmdateの場合はサーバの設定関係なくグリニッジ時間で計算するということですか?
0795nobodyさん
2008/02/21(木) 14:04:19ID:???http://www.php.net/manual/ja/function.gmdate.php
っていうかマニュアル読もうよ。
俺はfirefoxの検索プラグインに公式マニュアルの関数検索入れてるよ。
opensearchfoxって拡張使うと簡単に出来る。
0796nobodyさん
2008/02/21(木) 14:10:34ID:mkhVTZDnスレ汚し失礼しました。
0798514
2008/02/21(木) 15:11:30ID:FrueJpz5配列と関数と制御は理解しました。
本持ってないので買うのがいいですか?
お勧めの本とかございましたら教えて頂けると幸いです
0800514
2008/02/21(木) 15:21:07ID:FrueJpz5そうですね。 自分で見て自分にあった物を買うのがいいですね。
失礼しました
0801nobodyさん
2008/02/21(木) 15:30:12ID:???0802nobodyさん
2008/02/21(木) 16:05:44ID:???本読むよりPHP 配布とかでぐぐって配布してるフリーのPHPのコード読んだほうがためになる。
最初はさっぱりわからんだろうが関数が実際どういう用途で使われるかもわかってくる。
0803nobodyさん
2008/02/21(木) 16:15:51ID:???これはやめたほうがいい。
公開されている多数の日曜プログラマコードは糞。
phps○otとかは害悪。
0804nobodyさん
2008/02/21(木) 16:33:42ID:???市販の入門本やオライリーにいたっても、PHPのソースはベタコードでgeekなものだし
お手本作法的なフォーマットが知りたいぜ
0805nobodyさん
2008/02/21(木) 16:37:00ID:???あと、ソースって言っても好き嫌い(書き方)もあるから一概に綺麗なソースとは言えないぞ
中国産のソースなんて何が入ってるもんかわからないし
0806nobodyさん
2008/02/21(木) 16:42:27ID:???量産してるうち、最近はもう、動きゃいいかになりつつある。
0807nobodyさん
2008/02/21(木) 16:44:06ID:???Eclipseで書いても結局プラグイン次第。
インデントされてればなんでも綺麗に見えるマジック。
実際は補完機能も本場Javaのものより劣ってるし、そこまで綺麗なものでもない。
結局は書き手次第だな。
0808nobodyさん
2008/02/21(木) 18:02:50ID:???最初は綺麗なソースを作ろうと頑張っていたけど、
仕事で汚い理不尽なやり方を教わって、
とりあえず売れればいいかという思考になりつつあるのか
0809806
2008/02/21(木) 18:15:20ID:???いや違うな。教わったというより、自分で知ったんだ。
綺麗に書きたいのは本音だが、変な事に頭を使う暇があったら、設計やテストに時間を割くべき、と。
客の求めてるものは綺麗なソースでは無い。所詮はプログラマのオナニーなのかな、とね。
0810nobodyさん
2008/02/21(木) 18:22:15ID:???そのソースを変更してシステムを作り変えたりしたなら、
少しはその恩恵にあずかってると思うがな。
あと共同のプロジェクトで使う場合なら他人は喜ぶ。
0811nobodyさん
2008/02/21(木) 18:27:55ID:???売上げさっぱりでプロマネが腐ってるからなー
「将来の効率化のための仕事」はサボってるに等しいんだとさ。
どうせ書き直す日には古臭いだけのコードになっているだろうとかなんとか。経験則だかなんだかしらんが、反論しにくいのよなー
ウチも先長くねえな。俺も含めて。
0812nobodyさん
2008/02/21(木) 18:28:39ID:???どうだろうね、SIの現場じゃソースコードの再利用なんてほとんどされないし、
「再利用してます」っていうのもせいぜいコピペ改変。
ソースコードを修正したときに影響範囲が狭いほうが「保守性が高い」ということに
なるだろうし、ベタなコードの方が良い場合も多いだろ。
0813nobodyさん
2008/02/21(木) 18:35:37ID:???一番の再利用はフレームワークを使うことに他ならないだろう。
まあたいていは自作じゃなくて、外部のフレームワークを
再利用することになるが。
0814806
2008/02/21(木) 18:35:53ID:???俺だってプロジェクトで仕事してるし、保守も多いから他人のソースはよく見るが、
クラス化しときゃ余程長いソースで無い限り、どう書いたって追ってけば分かる。
それとも、綺麗さってのはインデントとかそんなレベルの話?
0815nobodyさん
2008/02/21(木) 18:38:22ID:???使いまわしの自作関数は持ってるもんじゃない?
0816nobodyさん
2008/02/21(木) 18:43:25ID:???客のどんな要望にもすぐに耐えうる「シンプルで柔軟性のある設計」
テスト漏れで客に迷惑をかけない「テストがしやすい設計」
バグが客が迷惑をかけない「バグが発生しにくい設計」
綺麗っていうことは、客の為にあるんだよ。
0817nobodyさん
2008/02/21(木) 18:57:40ID:???0818nobodyさん
2008/02/21(木) 18:59:04ID:???経営者にしろ、営業にしろ、エンジニアにしろ信用できないのばっかり。
考える事をやめてる人間がよく言う。
0820nobodyさん
2008/02/21(木) 19:02:43ID:???■ このスレッドは過去ログ倉庫に格納されています