【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カテゴリ)の各スレで
0622nobodyさん
2008/02/19(火) 11:44:07ID:???でも実際そんなにパフォーマンスは変わらん。何万回も回すなら別だけど。
0623nobodyさん
2008/02/19(火) 11:47:56ID:???rubyの方がいいんじゃない
わかりやすい変数つかわなくても、いりくんだ関数も一目でわかるよ
0624617
2008/02/19(火) 11:52:50ID:???ttp://www.moskalyuk.com/blog/php-optimization-tips/1272
とその日本語訳がらみでツッコミ入ってた気がするんだよ。思い出せないけど。でも
パフォーマンスのためにPHPのfor文でcountを使うべきではない
ttp://paranoid.dip.jp/kaworu/2008-01-28-2.html
ってのも見つけたし俺の勘違いだったみたい
0625nobodyさん
2008/02/19(火) 11:56:33ID:???rubyみたいに
関数.関数
で呼べれば見やすい
0627nobodyさん
2008/02/19(火) 12:01:07ID:???下のURLのやつ、個数が増えると何で差が少なくなるんだろうね。不思議。
$array[$i] で $i の値が大きくなるとアクセスが遅くなるのかな。
0628nobodyさん
2008/02/19(火) 12:04:21ID:???↑
常識
0629617
2008/02/19(火) 12:08:30ID:???http://www.php.lt/benchmark/phpbench.php
こっちだと事前に計算しておけば9倍速い ってなってるけどね
0630nobodyさん
2008/02/19(火) 12:10:41ID:???0631nobodyさん
2008/02/19(火) 12:24:36ID:???$_SERVER見るのが定石。
とりあえず var_dump($_SERVER) してみれば
http://jp.php.net/manual/ja/reserved.variables.php#reserved.variables.server
0633nobodyさん
2008/02/19(火) 12:46:21ID:???0634nobodyさん
2008/02/19(火) 12:48:50ID:???0635nobodyさん
2008/02/19(火) 12:54:42ID:???0638nobodyさん
2008/02/19(火) 14:25:30ID:rf+/c0h3$uho[0] = array("A","B","C");
print $uho[0][1];//B
のように現在記載していますが
$uho = array("アルファベット","ひらがな","漢字");
$uho[0][] = "A";
$uho[0][] = "B";
$uho[0][] = "C";
print $uho[0][0];
のように記述したいのですが何も出力されません。
何か他に記述法はありますか?
0639nobodyさん
2008/02/19(火) 14:30:52ID:???>$uho = array("アルファベット","ひらがな","漢字");
の意味がよくわからんけど
$uho[0] = array();
$uho[0][] = "A";
$uho[0][] = "B";
$uho[0][] = "C";
print $uho[0][0];
ではだめなん?
0640nobodyさん
2008/02/19(火) 14:33:55ID:???ini_set('display_errors', 'on');
$uho = array("アルファベット","ひらがな","漢字");
$uho[0][] = "A";
$uho[0][] = "B";
$uho[0][] = "C";
print $uho[0][0];
0641nobodyさん
2008/02/19(火) 14:39:24ID:???低級な議論を持ち出す奴は中の人が低レベルということでFA出ている
0642nobodyさん
2008/02/19(火) 14:41:09ID:???0643514
2008/02/19(火) 14:44:42ID:OsGt77+r$stop_word=array('ボケ','死ね','馬鹿');
$num=count($stop_word);
for($i=0;$i<$num;$i++){
if(strstr($message,$stop_word[$i])==true){
print("禁止語が含まれています。");
exit;
上から4行目のstrstrってのが何の働きをするのか理解できません。
マニュアルを見たら 文字列が最初に現れる位置を見つける なんのことやらさっぱり
よろしくお願いします。
0644nobodyさん
2008/02/19(火) 15:19:37ID:???>文字列が最初に現れる位置を見つける
これは多分書いた人がstrposの説明と混同してる。
print strstr('親馬鹿子馬鹿', '馬鹿');
で帰ってくるのは「馬鹿子馬鹿」。1つめの馬鹿が見つかった位置以降の文字列を返してる。
つまり「最初に現れた位置以降の文字列を返す」のがstrstrの機能。
これで禁止ワードがあったときに strstr($message,$stop_word[$i])==true が真になる。
文字列発見するだけならstposのがいいけどまあそれはあとでいい。
0645nobodyさん
2008/02/19(火) 15:23:28ID:???文字列==ture
という比較の不思議さじゃないかと推測
0646nobodyさん
2008/02/19(火) 15:24:19ID:???日本語の説明をしろってことならしねよ
0647nobodyさん
2008/02/19(火) 15:32:26ID:???確かに真偽値は最初は混乱するわな。
FALSEになるのは何も代入されてない変数、空文字列、文字の0、数字の0あたりかな。
TRUEがその逆。何か代入されていて、中身が0ではなく、空文字列でもない。
つってもいきなり始めたらわからんよなー
>>646
おつかれさん。
0648nobodyさん
2008/02/19(火) 15:48:05ID:???この辺楽に構築できる方法ありませんか?
smartyとか持ってそうなんだけど見つからない。
0649638
2008/02/19(火) 15:53:16ID:rf+/c0h3>>639
複数行ログがあるファイルから一度のループでアルファベット、漢字、ひらがなのデータを分類するスクリプトを作成しています。
書いていただいた方法では駄目でした。
>>640
エラーは出ませんでした。念のためarray_pushを利用してみましたがやはり駄目でした。
0650638
2008/02/19(火) 16:09:29ID:rf+/c0h3お騒がせしました。
ありがとうございました。
0651nobodyさん
2008/02/19(火) 16:12:48ID:???>$uho = array("アルファベット","ひらがな","漢字");
これじゃ $uho[0] は "アルファベット" っていう文字列型なのにそれを配列として扱おうとしてんだし
$uho[0] を配列として定義しないと通らんよ。
0652638
2008/02/19(火) 16:17:14ID:rf+/c0h3勉強になりました。
$uho = array("1","2","3")のように数字だけの場合は動いてしまっていたので勘違いしていました。
0653nobodyさん
2008/02/19(火) 17:11:42ID:p5AS/DW/SQLiteからデータベースのテーブルを呼び出すところで、参考にしている書籍の
スクリプトの書き方がわからなかったので、教えていただけませんか?
下の、3行目なのですが、
$rs=sqlite_query("SELECT * FROM schedule ORDER BY s_date",$db);
では、駄目なのでしょうか?
ORDER BY のあと、何故にクエリが2つも(s_date,s_time)あるのか不思議に思いました。
<?php
$db=sqlite_open("schedule.sqlite",0666,$err);
$rs=sqlite_query("SELECT * FROM schedule ORDER BY s_date,s_time",$db);
?>
<h1 style="background:#cccccc">簡易スケジュール帳</h1>
<table border="1">
<tr>
<th>日付</th><th>時刻</th><th>予定名</th><th>備考</th><th>削除</th>
</tr>
<?php while($row=sqlite_fetch_array($rs)){ ?>
<tr>
<td><?php print($row['s_date']); ?></td>
<td><?php print($row['s_time']); ?></td>
<td><?php print($row['title']); ?></td>
<td><?php print($row['memo']); ?></td>
<td><input type="button" value="削除" onclick="location.href='schedule_delete.php?sid=<?php print($row['sid']); ?>'" /></td>
</tr>
<?php
}
sqlite_close($db);
?>
</table>
0654nobodyさん
2008/02/19(火) 17:16:40ID:???http://www.net-newbie.com/sqlite/lang.html#select
0655nobodyさん
2008/02/19(火) 17:16:48ID:???0656nobodyさん
2008/02/19(火) 17:19:47ID:???0657653
2008/02/19(火) 17:20:09ID:p5AS/DW/失礼しました。
PHP5に付随する質問でしたので、こちらでよいものと思っていました。
>>655
早速のご回答ありがとうございます。
sort的と言っては、まずいかもしれませんが
優先度を決める為の書き方なのですね!参考になりました。
0658653
2008/02/19(火) 17:23:01ID:p5AS/DW/即レス、感謝です。
ありがとうございました。今後の参考になります!
0660nobodyさん
2008/02/19(火) 18:31:10ID:???0661nobodyさん
2008/02/19(火) 18:42:06ID:UiHW3K4+こういった画像掲示板サイトはどう作ればいいのでしょうか?
HTMLとCSSのみでは、このようなサイトの製作は難しいと思います。
掲示板に画像を投稿するシステムや
こういったサイトに最適なサーバなどありましたら教えてください。
よろしくおねがいします
0662nobodyさん
2008/02/19(火) 18:46:19ID:bsmDlf5I0664nobodyさん
2008/02/19(火) 19:01:10ID:???0665nobodyさん
2008/02/19(火) 19:04:56ID:UiHW3K4+お返事ありがとうございます。
PHPまたはCGIで製作しようと考えております。
HTML、CSSは一通り理解しているのですがPHPに関しては無知に等しいです
アドバイス等、いただけると幸いです
0666nobodyさん
2008/02/19(火) 19:05:26ID:???0667nobodyさん
2008/02/19(火) 19:08:38ID:???相当なやる気があるなら作れるだろうけど
普通の人がHTMLとCSSは一通り、PHPは無知な状態から作れるものではない。
手ごろなWebアプリ作成から始めることをお勧めするよ
0668nobodyさん
2008/02/19(火) 19:08:40ID:???皆無ですか。
そんな貴方に私から出来るアドバイスは、少なくともシステム部分に関しては
システム屋へ外注なさるのが早いかと存じます。
0669nobodyさん
2008/02/19(火) 19:09:04ID:???インクルードパスのc:/php/pearに存在するふぁいるのなかでも
インストールしたpear関連のファイル(DB.phpとかMail.php)だけ読み込めないんだけど
この現象何が原因なのでしょうか
0671nobodyさん
2008/02/19(火) 20:10:49ID:???初心者〜中級者入り口手度のやつしかいねぇ・・・
0672nobodyさん
2008/02/19(火) 20:13:45ID:???0673nobodyさん
2008/02/19(火) 20:16:40ID:???0674nobodyさん
2008/02/19(火) 20:18:52ID:???0675nobodyさん
2008/02/19(火) 21:22:43ID:???ただいまCakePHP慣れきたとこで
symfonyに覚えてます
フレームワーク乱立のおかげで覚えること沢山で困ります
昔はそんなに覚えることなかったのにな
0677nobodyさん
2008/02/19(火) 22:01:09ID:???PHPに限らないが、
覚えることが少ない言語は
自分で作らないといけないものが多く、
覚えることが多い言語は
自分で作らないといけないところが少ない。
0678nobodyさん
2008/02/19(火) 22:27:37ID:bDEijUkuPerlと比べてパーミッションを気にする必要がないようですが、
普段のphpファイルのパーミッションはいくつに設定しておいた方が宜しいでしょうか?
とりあえず、現在は全て777に設定しています。
宜しくお願いします。
0679nobodyさん
2008/02/19(火) 22:27:42ID:???既製品で済む場合はそれの使い方覚えないといかんからな。
0680nobodyさん
2008/02/19(火) 22:42:39ID:???そのままでいいよ。644とか。
phpを通してファイルに書き込むなどといったことをするときは、
当然そのファイルを666とかにしないといけないけど。
0681nobodyさん
2008/02/19(火) 23:01:36ID:???普通に
include 'DB.php';
とかしてもincludeできないって事?
>>671
ここにスキル高い質問なんて無いだろ
0682nobodyさん
2008/02/19(火) 23:37:20ID:???0683nobodyさん
2008/02/19(火) 23:48:52ID:???0684nobodyさん
2008/02/20(水) 00:34:07ID:???0685nobodyさん
2008/02/20(水) 00:45:40ID:???0686nobodyさん
2008/02/20(水) 01:29:19ID:mRMNoFj0前から疑問に思ってた事です。
「PHP」の正式名称は「PHP: Hypertext Preprocessor」
つまり「PHP」は「PHP: Hypertext Preprocessor」の略語ですよね。
でも正式名称である「PHP: Hypertext Preprocessor」の先頭にも略語の「PHP」の文字がありますよね。
じゃあこの先頭の「PHP」はさらに正式名称があるわけですか?
0687nobodyさん
2008/02/20(水) 01:35:46ID:???0688nobodyさん
2008/02/20(水) 01:42:34ID:???0689nobodyさん
2008/02/20(水) 01:44:48ID:mRMNoFj0有難う御座います。
php3.xあたりから入ってたもんですから
php1.xの頃の話なんて全然知りませんでした。
0690nobodyさん
2008/02/20(水) 01:57:55ID:???0691nobodyさん
2008/02/20(水) 02:10:15ID:???ttp://ja.wikipedia.org/wiki/%E5%86%8D%E5%B8%B0%E7%9A%84%E9%A0%AD%E5%AD%97%E8%AA%9E
PHPも入ってるな。
0692nobodyさん
2008/02/20(水) 08:06:43ID:???$time = date("現在の日時は、Y年m月d日 H時i分s秒です。");
print($time);
?>
と書くと現在の日時は、M2008・02月20日 08時05分28秒です・03
って表示されます。大文字のMと です・のあとの03ってのが邪魔です。
どうすればいいんでしょうか?
0693nobodyさん
2008/02/20(水) 08:25:08ID:???0694nobodyさん
2008/02/20(水) 08:30:20ID:???0695nobodyさん
2008/02/20(水) 08:30:26ID:???いつの時代?w
0696nobodyさん
2008/02/20(水) 08:51:09ID:???ケータイなら出力はShiftJISだし、その流れでソースもShiftJISで書く初心者は多いだろ。
0697nobodyさん
2008/02/20(水) 09:05:08ID:???PHPユーザは携帯サイト作成から入ることが多いという意味か?
0698nobodyさん
2008/02/20(水) 10:26:11ID:???0699nobodyさん
2008/02/20(水) 11:34:03ID:0elSO0M+array_shiftやarray_popは先頭・末尾でしたので・・・
Array
(
[Red] => ringo
[Blue] => budou
[Yello] => banana
)
関数("Blue")
Array
(
[Red] => ringo
[Yello] => banana
)
0700nobodyさん
2008/02/20(水) 11:39:27ID:???http://jp.php.net/manual/ja/function.unset.php
0701nobodyさん
2008/02/20(水) 12:22:49ID:0elSO0M+サンクス
0702nobodyさん
2008/02/20(水) 13:17:42ID:???キーの順番は変えたくありません。
Array
(
[Red] => ringo
[Blue] => budou
[Yello] => banana
)
関数("Blue","Green")
Array
(
[Red] => ringo
[Green] => budou
[Yello] => banana
)
0704nobodyさん
2008/02/20(水) 13:26:09ID:???0707nobodyさん
2008/02/20(水) 13:35:11ID:???0708nobodyさん
2008/02/20(水) 13:44:51ID:???少しは考えようぜ
http://jp.php.net/manual/ja/ref.array.php
使えそうなもの探して自分なりに作ってみ
0709nobodyさん
2008/02/20(水) 13:54:54ID:0elSO0M+を
mb_splitの[都道府県]で分解すると
「大阪」と「大阪市」になりますが、
「大阪府」と「大阪市」に分けることって可能でしょうか?
区切り文字消さないオプションとかないですよね・・・orz
0710nobodyさん
2008/02/20(水) 14:02:12ID:???0711nobodyさん
2008/02/20(水) 14:23:35ID:???配列に入れる段階で順番にこだわる理由がわからない。
実際に配列を操作するときは特定のアルゴリズム下で行われるべきなので、
最終的にソートして表示したときなり、検索して取り出したときの結果は変わらない。
0712nobodyさん
2008/02/20(水) 14:34:38ID:???0713nobodyさん
2008/02/20(水) 14:40:34ID:???可読性とかそういう問題じゃない。というか配列の順番に可読性も何も・・・
DBから取り出して配列にいれた段階で、その配列を実際眺めるなんてことしないだろ。
膨大なデータになればなるほど、そんなこと考えたりしない。
配列というのは、どういうグループでどういう値が配列に入っているかを理解していればいい。
あとは配列を操作する段階でどうにでもなる。
0714nobodyさん
2008/02/20(水) 15:03:20ID:0elSO0M+サンクスです
とりあえず都道府県47個は個別対応してみます。
あー、まだ質問あるけど流石に自重しなきゃ('A` )
0715nobodyさん
2008/02/20(水) 15:14:46ID:???都道府の4つ+それ以外でいいような?
0716nobodyさん
2008/02/20(水) 15:18:37ID:0elSO0M+大阪府東大阪市→大阪 東大阪市
になるので、そこから「大阪」で検索かけて「府」を取得しようかと・・・
0717nobodyさん
2008/02/20(水) 15:20:46ID:???さて
0718nobodyさん
2008/02/20(水) 15:21:04ID:???0719nobodyさん
2008/02/20(水) 15:23:14ID:0elSO0M+も・・・もしかしたら、他に都道府県が増えるかも・・・
ないよね、うん、ありがと
0720nobodyさん
2008/02/20(水) 15:23:36ID:???本当に下らない質問だな。
■ このスレッドは過去ログ倉庫に格納されています