【PHP】下らねぇ質問はID出して書き込みやがれ 78
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/12/23(火) 19:08:55ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 76
http://pc11.2ch.net/test/read.cgi/php/1226517332/
◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
0237212
2008/12/26(金) 14:48:00ID:Ag3DX8xCすいません。出たエラーはこんな感じです。
Parse error: syntax error, unexpected T_INLINE_HTML, expecting T_ENDSWITCH or T_CASE or T_DEFAULT
下のようにしたら実現できました。
<?php switch($foo):
case 'a':
?>
<div>a</div>
<?php break; ?>
<?php case 'b': ?>
<div>b</div>
<?php break; ?>
<?php endswitch ?>
気持ち悪いですね。
最初のcase句を別の<?php?>に入れるとエラーが出ます。
う〜ん・・・気持ち悪い。使っていいものか悩みますね。バグでした〜とかいって修正されそうな気も。
0238nobodyさん
2008/12/26(金) 14:56:52ID:???日本語としては「じっぷん」が正しいが、レッドブックの「とおふん」も間違いではない
ただ朝鮮人や関西人が良く使う「じゅっぷん」は明らかに間違い
これを使っていると日本人である事を疑われるので気を付けるように
0240nobodyさん
2008/12/26(金) 15:11:02ID:???俺のデバッグ環境だと普通にできるが・・・
<?php $a = 3; ?>
<?php switch($a): ?>
<?php case 1: ?>
1
<?php break; ?>
<?php case 2: ?>
2
<?php break; ?>
<?php default: ?>
default
<?php endswitch; ?>
0241nobodyさん
2008/12/26(金) 15:16:56ID:???explodeは、よくてpreg_matchも理解してるんだよね。
あとは状況応じてパターンを変えればいいんでない?
0246nobodyさん
2008/12/26(金) 15:25:20ID:???いつも
<div><?php if () { echo ""; } else { echo ""; } ?></div>
みたいな感じでやってたわ
0247nobodyさん
2008/12/26(金) 15:25:44ID:Mk7Gnz+aはい、理解しています。
今回の例であれば、%{hoge}の部分を(.+)にして正規表現を作り、
preg_matchの3番目の引数$matchesを使って、
%{hoge}が1番目なら$data[0]['hoge'] = $matches[1]すれば良いですよね。。。
ただ、もっとこう、sscanf 的な感じで簡単な仕組みで出来たりしないかなぁ、とか
一般的にはどうやっているんだろう的な意味合いも込めて質問させていただきました。
どなたかスマートな方法や、ライブラリがあればご教示ください。
0251nobodyさん
2008/12/26(金) 15:41:03ID:???sscanf使えば?
>>246
smartyは独自タグをああいう形に変更してくれるが
あれは記述方法の1つであってテンプレートではない
0252nobodyさん
2008/12/26(金) 15:41:21ID:i1+5wuDM0254234
2008/12/26(金) 15:43:41ID:???あ、すみません、すこし私の文章の字掛かりが悪かったですね。
取り出す単位が行毎というだけで、行毎にフォーマットが違う訳ではないです。
というか、そもそも行とかそういう説明がいらないですね、ごめんなさい。
あくまで1文字列集団に対して指定のフォーマットで取り出したいだけの質問です。
>>250
スマートって定義が曖昧ですね、申し訳ない。
そんな汎用ライブラリ無いですか、と受け取って下さい。
自分でコードを書きたくないのです。怠惰です。開き直りです。。。
0255252
2008/12/26(金) 15:46:29ID:i1+5wuDMありがとうございます。
ご意見を伺いたいのですが、20件〜30件程度のデータをSQLから引き出して、<select>をループで
生成するというのはやはり、負荷がかかってしまいますか?
(<select>は複数あるとします)。
データが変わるたびに、対応してHTML部分も書き換えるのが面倒なので考えたのですが……。
0256nobodyさん
2008/12/26(金) 15:47:41ID:???>あくまで1文字列集団に対して指定のフォーマットで取り出したいだけの質問です。
だったらsscanfでいいじゃん。
連想配列に入れたいなら自分でsscanf使ってパーサー作る感じで
>>255
全然かからない
0257252
2008/12/26(金) 15:51:16ID:i1+5wuDMありがとうございました。
0258nobodyさん
2008/12/26(金) 16:25:35ID:nmEdMuVH何か方法はありますか?
またphpの標準関数はphp以外の言語で実装されているのでしょうか?
return値が異なる関数が(成功したらintやStringを返し失敗したらbool(false)を返すなど)
いくつかあるので中身がどのように実装されてるのか知りたいです
0259nobodyさん
2008/12/26(金) 16:39:09ID:???マニュアルを見るのが一番早い。
しかし、それ以上を知りたいなら、ソースが公開されているので、それを見た方がいい。
ソースが読めないレベルならドキュメントで事足りる。
0260nobodyさん
2008/12/26(金) 16:51:28ID:???0262nobodyさん
2008/12/26(金) 17:59:54ID:nmEdMuVHソースコードを見てみましたが自分には理解できそうもありませんでした
ちょうどJDKのsrc.zipのようなものを期待していたのですが
思ったよりも複雑なようで・・・
var_dumpやgettypeなどを使って
成否による挙動を見ながら中身の実装方法を想像してみたいと思います
0264nobodyさん
2008/12/26(金) 18:36:26ID:???何の経験があるのか知らんが、Cが読めないで言語実装に興味を持つって不自然すぎる
0265nobodyさん
2008/12/26(金) 18:46:49ID:???if (Condition) {
return int val;
} else {
return false;
}
なんてできないから不思議に思ったんだろ
0266234
2008/12/26(金) 19:38:18ID:???実際はクラス化しているので、実コードは全く違いますが、ざっくり纏めて書いときます。
# 入力項目
$format = '%ip %host';
$line = '127.0.0.1 example.jp';
# 独自フォーマットパターン
$pattern = '/%([a-z]+)/';
# 正規表現を作る
$pattern_array = array();
$num = preg_match_all($pattern, $format, $matches);
if ($num > 0) {
for ($i = 0; $i < $num; $i++) {
$pattern_array[$i] = $matches[1][$i];
}
}
$tmp = preg_quote($format);
$tmp = preg_replace($pattern, '(.*)', $tmp);
$format = '/^' . $tmp . '$/';
# マッチング
$num = preg_match($format, $line, $matches);
$data = array();
if ($num == 1) {
foreach ($pattern_array as $key => $value) {
$data[$value] = $matches[$key + 1];
}
}
# 結果
print_r($data);
0268nobodyさん
2008/12/26(金) 19:43:48ID:???まぁログフォーマット未定ならApacheログと同じような感じにして
そこらへんのツール使う方が早いと思うがな
0271nobodyさん
2008/12/27(土) 16:08:47ID:???「話が伝わっているのかいないのか分からない」
国内最大のネットオークション「ヤフー・オークション(ヤフオク)」を巡り、身に覚えのない出品料約24万円を請求された
兵庫県芦屋市の会社員梅田雄一さん(38)は憤る。 自分の会員IDで何者かが偽ブランド品約200点を出品していると
気付いたのは9月29日。運営会社のヤフーに連絡しようとしたが、同社の電話番号は一般に公開されておらず、
問い合わせはメールに限定していた。
すぐメールで事情を伝えたが、翌日、「改めて連絡する」と返信があった後は、音さたなしに。10月中旬に催促のメールを
送ったが、その返信は月末。具体的な措置はとられないまま今月5日、24万円は引き落とされてしまった。
「電話なら1回で済むのに。時代の最先端をいくIT企業のはずだが、まるで江戸時代の手紙のやり取りだ」と梅田さんは話す。
同様の相談は、NPO法人「消費者支援機構関西」(大阪市)にも255件寄せられ、うち約80件は「返信がない」、約50件は
「伝わっているかどうか不明」との苦情だったが、ヤフーは「電話が殺到すると業務の混乱を来す」として、今後も電話番号を
公開する予定はないとしている。
0272nobodyさん
2008/12/27(土) 16:19:39ID:???うちがそうだから分かる。
0273nobodyさん
2008/12/27(土) 17:04:00ID:VWeaVdBZ前スレの番号が間違ってる
お前仕事でもミス多いだろ
0274nobodyさん
2008/12/27(土) 17:08:00ID:???しつこくてすみません。
いろいろ調べました。
結果、PDOには文字セットの変更は伝わらない、伝える手段がないようです。
(SET NAMES しちゃダメってこと……だと思う)。
おとなしく、mysql_* なり mysqli 系にします。
お騒がせしました。
-------------------------
↑これって、あってるでおじゃるか?
0276nobodyさん
2008/12/27(土) 17:10:14ID:???「MySQLを使うならPDOを使え」
というページがやたら多いが、
レンタルサーバーではmy.cnfを編集できない。
すると
skip-character-set-client-handshake
default-character-set = utf8
を設定できないので、それ以外の方法で
文字コードを設定する必要が生じる。
そしてPDOには文字セットの変更は伝える手段がない
そしたら、PDOは使えないジャン。
だとしたら、PEAR::MDB2を使うしかないのか?
0277nobodyさん
2008/12/27(土) 17:34:20ID:VWeaVdBZMySQLのバージョンが4.0.なのだが、
ひょっとしてこの場合は文字化けのことを
心配しなくてもいいのかな?
0278nobodyさん
2008/12/27(土) 17:45:34ID:???あぁ、すまん、コピペで見落とした。スマソ
前スレは77で、
http://pc11.2ch.net/test/read.cgi/php/1228667259/
0279nobodyさん
2008/12/27(土) 17:48:45ID:VWeaVdBZphpinfo();
してみて、そんで、これからPDO使うんで、
PDOの項目を検索してみたら、
PDO
PDO support enabled
PDO drivers sqlite2, sqlite
ってなってて、myslqの文字が見当たらないんだが、
これってもしかしてmysqlをPDOで使えないってことで
おじゃるか?
0282nobodyさん
2008/12/27(土) 17:56:36ID:VWeaVdBZ自分でインストールするとか、
そういうのは無理でおじゃるか?
0284nobodyさん
2008/12/27(土) 17:59:29ID:???0285nobodyさん
2008/12/27(土) 18:01:05ID:VWeaVdBZ何が必要でおじゃるか?
0287nobodyさん
2008/12/27(土) 19:03:29ID:VWeaVdBZインストールされているかどうかって
何を見ればわかる?
0289nobodyさん
2008/12/27(土) 19:24:59ID:VWeaVdBZわかるでおじゃろう?
0291nobodyさん
2008/12/27(土) 19:29:44ID:???require_once('MDB2.php');
echo '入ってたよ!';
?.>
エラーが出るか、何も表示されなかったら入ってない。ちゃんと動きゃ入ってる。
0292nobodyさん
2008/12/27(土) 19:31:07ID:???0293nobodyさん
2008/12/27(土) 19:41:09ID:VWeaVdBZ何も表示されないでおじゃるな。
じゃあ、入ってないってことでおじゃるか?
0294nobodyさん
2008/12/27(土) 19:42:33ID:VWeaVdBZ最後の行にいらんピリオドがついておじゃるぞ
0295nobodyさん
2008/12/27(土) 19:44:32ID:VWeaVdBZ0296nobodyさん
2008/12/27(土) 19:45:50ID:VWeaVdBZ自分でインストールできるものでおじゃるか?
0297nobodyさん
2008/12/27(土) 20:26:01ID:VWeaVdBZ調べるにはどうしたらいいでおじゃるか?
0299nobodyさん
2008/12/27(土) 21:12:44ID:HuO0vYHmpear install MDB2
これできるの?
できないでしょう?レンサバだと。
だからだめじゃない?
0301nobodyさん
2008/12/27(土) 21:39:28ID:???0302nobodyさん
2008/12/27(土) 21:43:18ID:???0303nobodyさん
2008/12/27(土) 22:04:51ID:HuO0vYHm0304nobodyさん
2008/12/27(土) 22:06:09ID:HuO0vYHm0306nobodyさん
2008/12/27(土) 22:12:09ID:HuO0vYHmもっと勉強してきます。
0307nobodyさん
2008/12/27(土) 22:12:48ID:???0308nobodyさん
2008/12/27(土) 22:30:14ID:HuO0vYHmそう見えたならごめん
0310nobodyさん
2008/12/28(日) 07:10:08ID:EDfMX0OA(1)PHPのネイティブ関数
(2)PEAR::DB
(3)PEAR::DBM
(4)PEAR::DBM2
(5)PECL::PDO
と、5種類もあるんだけど、今回はこのうち
(5)PECL::PDO
を使おうと思ったのでおじゃる。
ところが、わらわが借りているレンタルサーバーには
PDOそのものは入っているのでおじゃるが、
ドライバがSQLite用のとかしか入っていないのでおじゃる。
MySQL用のドライバがないのでおじゃる。
この状況で、自分でPDOのMySQL用のドライバを入れたり
できるのでおじゃるか?
それとも、管理人に頼まないとだめなのでおじゃるか?
0311nobodyさん
2008/12/28(日) 08:14:03ID:EDfMX0OAこの$dbを「データーベースポインタ」と呼ぶでおじゃるか?
0312nobodyさん
2008/12/28(日) 08:25:28ID:???0313nobodyさん
2008/12/28(日) 08:49:58ID:???でメールで。
急ぎの場合は、メール送信後に電話で確認。また、長文になる場
合は添付ファイルにするなどして
情報をまとめるよう心がけること。」
もう3年も前から飽きる程言ってるのに、まだこの基本ルールが守れ
ない奴が多すぎて萎える。
今日も、某から4通のメールで新仕様を送ってきた。自分の意見と仕
様を織り交ぜた長文メール。
改行位置もムチャクチャで読むために一旦メールからコピペして、エ
ディタに貼り付けて、
読みながら内容体裁しないといけない始末。何度言ってもこうやって
くるうえ、
修正依頼すると普通に1日とかかかるので、月曜までに仕上げない
といけない関数だから自分で解読した。
2時間半程かかって、ようやく仕様解読。なんだ、まとめればメール1
通で済む内容じゃないか。設計開始。
そこに某から「メールの内容なんですけど、修正箇所がありまして・・
いいですかあ」とか言って「いい」とも答えてないのに
何行目のどこそこはやっぱりこうで、そこの数字は実はこうで・・と、こ
ちらのメールでは改行全然ないのに送信側は一定行数で自動改行
になっているらしく
どこを示しているのかさっぱりわからなかったので、再送信しろと言っ
て電話を切った。
0314nobodyさん
2008/12/28(日) 08:50:31ID:???前のメールの訂正ではなく、新たに書き起こしているからまた
解読が必要・・・
ため息つきながら解読開始したら、いきなり最初の仕様が違う。
引数仕様が全然違ううえ、存在しない構造体の名前とか見える。
意味わからん、どうなってるんだ!と、こっちの解読した仕様をメ
ールで送り
これを元に直せ!と言って、電話したら
「今日は早退しました」
もうこっちで現状の仕様を元に仕様作ってやるから、帰りにダン
プにでも撥ねられてくれ・・
0317nobodyさん
2008/12/28(日) 10:07:10ID:???0318311
2008/12/28(日) 10:12:01ID:???言われたとおりにしてやったんだから今度こそ答えろよ、kuso
$db = mysql_connect ( "hostname", "username", "password" );
この$dbを「データーベースポインタ」と呼ぶで質問?
0320nobodyさん
2008/12/28(日) 10:16:41ID:???0322nobodyさん
2008/12/28(日) 10:28:13ID:???0325319
2008/12/28(日) 11:22:39ID:???管理人に頼まないとだめなのでおじゃるか?
0326nobodyさん
2008/12/28(日) 11:34:03ID:???0327325
2008/12/28(日) 11:46:52ID:???0328nobodyさん
2008/12/28(日) 11:56:36ID:???0329nobodyさん
2008/12/28(日) 13:35:15ID:???phpの時代は終わったよ
請負の適正化の問題で大手がいっせいにphpの採用を手控えた
現在就業している奴は本当にラッキー
新規でphpのスキルで案件に入るなんて不可能
現在修行している奴も契約の更新時で契約社員への転向、単価ダウンを提示されるケースが多い
まあたまに例外はある
どんな世の中でも例外はあるだろ
その例外を皆が目指してもナンセンス
100人に1人になろうなんてクレージー
phpなんてこれまでは必要悪な存在だったんだよ
たまたま技術者不足で仕方なく採用されていただけ
SIサイドでもphpグラマーのスキル不足、社会性の欠如を苦々しく思っていた人も多くいる
この際徹底的にphpグラマーを排除できると喜んでいるよ
phpグラマーに告ぐ
もうphpのようなポジションにしがみ付くのは諦めろ
Javaが無理ならrubyに転向しろ
いくら個人で新規の契約を待っていても99%無理だぞ
それから経済情勢の悪化で単価は間違いなく下がっている
1年前の感覚で営業していると誰にも相手にされない
3割引きは覚悟しな
0330nobodyさん
2008/12/28(日) 13:45:03ID:???初心者同士が教えあうスレだぞ
0332144
2008/12/28(日) 14:01:21ID:l23GN/5cC++でいう strstream みたいな、文字列変数としてデータが格納されるファイ
ルポインタはありませんか?
fputcsv() で、CSVファイルではなく文字列を作りたいので。
0333329
2008/12/28(日) 14:04:09ID:???てめぇらも気をつけな
0334332
2008/12/28(日) 14:04:35ID:l23GN/5c0335nobodyさん
2008/12/28(日) 14:10:32ID:???■ このスレッドは過去ログ倉庫に格納されています