【PHP】下らねぇ質問はID出して書き込みやがれ 121
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2012/07/25(水) 21:30:09.38ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 120
http://kohada.2ch.net/test/read.cgi/php/1340275027/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0302nobodyさん
2012/08/01(水) 14:54:52.88ID:???0303nobodyさん
2012/08/01(水) 14:56:04.31ID:???0304nobodyさん
2012/08/01(水) 16:24:49.12ID:7jlH6jTDpreg_match(正規表現, $text)で$textが全角文字または半角英数字で構成されていることを
チェックしたいのですが、どうしたら良いでしょうか
記号は一切排除したいと思っています
よろしくお願いします
(以前やっていた方法 preg_match('/^w+$/u', $text)があるときから全角文字をエラーで返すようになってしまい
対応できなくなってしまいました)
0305nobodyさん
2012/08/01(水) 16:46:15.22ID:???こっちで聞けっちゅうに
0306nobodyさん
2012/08/01(水) 17:25:53.54ID:dqk18HWb文字列"hoge"は数字じゃないからゼロを返すってことですかね
0307nobodyさん
2012/08/01(水) 17:39:05.26ID:???というよりも、文字列"hoge"は整数に変換すると0になる。
それ以上でもそれ以下でもなく、そういう仕様だってことでいいと思う。
phpが叩かれる理由のよくあるうちの一つが、こういった暗黙の了解が至る所にあって、
その了解の仕方が何となくだらしない感じがするってことじゃないかと。
このあたりのだらしなさがPHPっぽいといえばそうかも知れないな。
0308nobodyさん
2012/08/01(水) 17:59:30.07ID:???0309nobodyさん
2012/08/01(水) 18:44:36.25ID:???整数の1だろ
0310nobodyさん
2012/08/01(水) 19:10:59.62ID:???0311nobodyさん
2012/08/01(水) 19:41:33.33ID:???"1hoge"は文字列だが数値にキャストすると1になる
文字列 != 数字じゃないからゼロを返す
0312nobodyさん
2012/08/01(水) 19:51:36.21ID:???'0xa' == 0xa
'010' != 010
すてきな仕様w
0313nobodyさん
2012/08/01(水) 20:32:59.29ID:???'010' != '0xa'
'0xa' == 0xa
'010' != 010
0314nobodyさん
2012/08/01(水) 20:49:10.53ID:???PHPもだけど勝手に数値変換すんなと
0315nobodyさん
2012/08/01(水) 20:52:48.11ID:???0316nobodyさん
2012/08/01(水) 21:14:39.82ID:???0317nobodyさん
2012/08/01(水) 21:20:19.99ID:???>"1hoge"は文字列だが数値にキャストすると1になる
>文字列 != 数字じゃないからゼロを返す
文字列"hoge"は整数じゃない
文字列"hoge"は整数と比較する文脈では整数と評価される
文字列"hoge"を整数に変換すると0になる
文字列"1hoge"は整数じゃない
文字列"1hoge"は整数と比較する文脈では整数と評価される
文字列"1hoge"を整数に変換すると1になる
たったこれだけのこと。
0318nobodyさん
2012/08/01(水) 21:42:33.82ID:???ただのキャストを変換っていうんじゃねえよ
0319nobodyさん
2012/08/01(水) 21:53:58.69ID:???やばい!なんかその説明で一瞬わかったつもりがわからなくなった。
文脈ってなんだ?PHP的文脈ということ?
PHPの仕様だからそうですというだけか。
0320nobodyさん
2012/08/01(水) 22:01:26.66ID:???0321nobodyさん
2012/08/01(水) 22:09:41.93ID:???数字のみで構成された文字列なら
数値と比較するときは==使う
とかちゃんとした理由があって
比較演算子を厳密にするか否かを決めないと
0322nobodyさん
2012/08/01(水) 22:37:05.68ID:???おいおい大丈夫かよw
「ただのキャスト」ってなんだよ、「ただのキャスト」って。
キャストってのは「強制的な型変換」のことだろうが。
317でいう変換は詳細に書けば「自動変換」だ。
原文で言うと「automatic type conversion」だよ。
>>319
文脈ってのは言葉の連なりだ。当たり前だが。
原文で言うところの「context」だよ。
a variable's type is determined by the context in which the variable is used.
単に「文」として訳されているみたいだけど。
実際騒ぐようなことじゃないんだよ、確かに。
あっさり流そうぜ。
結局、PHPの言語仕様はとっても下品でだらしないんだよ。
だが、それがいいんだよwww
0323nobodyさん
2012/08/01(水) 22:40:42.25ID:???0324nobodyさん
2012/08/01(水) 22:41:35.19ID:???ちょっとPHPとずれてるかもしれませんが聞いてください。
クラスの時間割(6時間)を5日分DBに登録するとします。
これを一つのテーブルに登録すると30行になると思います。
後で水曜日の時間割が一時間増えたってなったとき、
挿入しようとしてもDBって末尾にしか追加できないから、
その追加した水曜日の1時間だけ31行目に追加されてしまい、
GUIベースで表示しくてれるツールでDBを見たときに汚くなってしまいます。
なので月〜金までのテーブルを5つ作ったほうが、
後から追加しやすくなるかなと思ったのですが、どっちがいいでしょうか?
最初の方法でもどうせ曜日で検索かければデータとしては取得できるのでいいかなと思ったのですが、
実際は皆どうやってるのかなーと思いまして。
アドバイスください
0325324
2012/08/01(水) 22:42:05.47ID:czvsIOAR0326nobodyさん
2012/08/01(水) 22:46:07.93ID:???> その追加した水曜日の1時間だけ31行目に追加されてしまい、
> GUIベースで表示しくてれるツールでDBを見たときに汚くなってしまいます。
気にしたらハゲ
曜日の順・時間の順で表示すればいい
曜日ごとにテーブルを作るのは無駄で愚の骨頂
0327nobodyさん
2012/08/01(水) 22:48:51.76ID:???0328nobodyさん
2012/08/01(水) 22:50:08.26ID:czvsIOARありがとうございます。
じゃあ基本的にDBって書き込まれてる場所はどこでもよくて、
見れるときにちゃんと見れればいいって感じですか?
0329nobodyさん
2012/08/01(水) 22:50:47.18ID:???http://toro.2ch.net/test/read.cgi/db/1341061787/
ほれ
はやってないけどageればすぐ答えつくからこっちで質問しなさい
0330nobodyさん
2012/08/01(水) 22:52:54.85ID:czvsIOARありがとうございます。
こっちに移動しますね。。
0331nobodyさん
2012/08/01(水) 22:54:18.06ID:???それに思いっきりスレチだわな。
とはいえこの場合は一つの方法として時間割のテーブルと科目のテーブルを分けて、
それらの関係を表現するテーブルでつなげるってのがよくあるパターンだろうな。
時間割のテーブル:time_tables
id
class_id
weekday
科目のテーブル:courses
id
name
時間割 has many 科目:time_tables_courses
id
time_table_id
period
couse_id
みたいな感じか
0332nobodyさん
2012/08/01(水) 22:56:32.66ID:???0333nobodyさん
2012/08/01(水) 23:01:52.30ID:czvsIOARテーブル繋げたことないのでさっぱり分かりませんね。。
とりあえずレスコピらせて勉強させてもらいます><
あざっす!
0334nobodyさん
2012/08/01(水) 23:16:21.27ID:???0335nobodyさん
2012/08/01(水) 23:19:38.06ID:???0336nobodyさん
2012/08/02(木) 08:08:31.92ID:Ly1SsDN+そのデータを受けるPHPのコードを書いたりめんどくさいです。
何かいいツールないんですか?
それとも皆さん毎回ガリガリhtmlでフォーム作ったり、PHPのコード書いてるんですか?
0337nobodyさん
2012/08/02(木) 08:22:04.89ID:???0338nobodyさん
2012/08/02(木) 08:34:23.33ID:???0339nobodyさん
2012/08/02(木) 08:42:39.63ID:Ly1SsDN+それともガリガリが普通なのであれば頑張れといってください
0340nobodyさん
2012/08/02(木) 08:44:47.64ID:???まぁフレームワークわかりませんって泣きつかれても困るんで
頑張れ
0341nobodyさん
2012/08/02(木) 08:48:25.67ID:Ly1SsDN+ありがとうございます
さっそくダウンロードさせてもらいます。
0342nobodyさん
2012/08/02(木) 09:14:55.86ID:???0343nobodyさん
2012/08/02(木) 11:27:48.74ID:???パスワードを暗号化してクッキーに保存して、
後からそのクッキーを読み込んでパスワードがあっていれば、ログイン後のページを表示するっていうのがあったんですが、
これってどうなんですか?
暗号化しててもパスワードをクッキーに保存するのってあり?
0344nobodyさん
2012/08/02(木) 11:55:42.70ID:???サイトなら別にいいんじゃない?
あとは暗号化の方法にもよると思うけど
ユーザーが他のクリティカルなサイトのパスワードと
同じものを登録していた場合
パスワードが漏れて大変なことになることもあるかもしれない
0345344
2012/08/02(木) 11:59:27.75ID:???>>343
の方法ってクライアントサイドでパスワードが
あってるかどうか判定するってことでいいのかな?
そのログイン後のページに入ろうと思えばいくらでも方法がありそうだよ
どちらにしろやめたほうがいいような気がするな
0346nobodyさん
2012/08/02(木) 12:00:04.69ID:???やめときます
ありがとうございますた
0348nobodyさん
2012/08/02(木) 12:57:49.98ID:JyNjR/5H【PHPのバージョン】5.3
【連携ソフトウェア】
【質問内容】
文字数でソートを行いたいのですがそういった関数はありますか?
昇順降順といったなかでいくつか種類はありますが文字数でのソートがありませんでした。
そういった関数があるようなら教えていただけないでしょうか。
宜しくお願いします。
0349nobodyさん
2012/08/02(木) 12:59:16.07ID:Ly1SsDN+0350nobodyさん
2012/08/02(木) 13:12:01.59ID:???$l = array("aaaaaa","bbbb","cc","ddd","eeee","fff","g");
usort($l, function($a,$b){$al=strlen($a);$bl=strlen($b);if($al==$bl)return 0;else return $al<$bl?-1:1;});
print_r($l);
0351nobodyさん
2012/08/02(木) 13:29:06.60ID:???0352nobodyさん
2012/08/02(木) 13:59:38.97ID:???session_startができません。
インクルードしてるファイルはただ関数を定義してあるだけのファイルなのに
何で出力があるのかさっぱりです
原因として何か考えられますかねぇ
0353nobodyさん
2012/08/02(木) 14:01:33.90ID:???0354nobodyさん
2012/08/02(木) 14:01:40.49ID:???0355352
2012/08/02(木) 14:05:55.10ID:???0356nobodyさん
2012/08/02(木) 14:06:21.76ID:???ググってみたらutf-8で保存するとbom?ってのが付くらしくて
bomのチェックを外して保存したらいけました
ふざけんなし!!!
ありがとうございました
0357nobodyさん
2012/08/02(木) 14:07:53.21ID:???いつになったらSessionの勉強終わるんですか?
人に聞いてばかりだと進歩も遅いですね
0359nobodyさん
2012/08/02(木) 14:11:42.14ID:???よくぞおわかりで
ちょっとセッションの勉強からは離れてたんすよ
今日から再開しまっす
一応さっき完成したんすけどね
0360nobodyさん
2012/08/02(木) 14:39:22.48ID:???PHPSESSIDのクッキーの有効期限がブラウザ終了時になってるのに、
ブラウザ閉じてもクッキーが消えません
何ででしょうか?
0361nobodyさん
2012/08/02(木) 14:57:22.07ID:???0363nobodyさん
2012/08/02(木) 15:23:53.90ID:???PHPのマニュアルにセッションの正しい破棄の方法として、
<?php
// セッション変数を全て解除する
$_SESSION = array();
// セッションを切断するにはセッションクッキーも削除する。
// Note: セッション情報だけでなくセッションを破壊する。
if (isset($_COOKIE[session_name()])) {
setcookie(session_name(), '', time()-42000, '/');
}
// 最終的に、セッションを破壊する
session_destroy();
?>
が載ってました。
この最初にsession_startが無いんですが必要ないんでしょうか?
またそれはなぜでしょうか?
よろしくお願いします。
0364nobodyさん
2012/08/02(木) 16:03:59.77ID:???0365nobodyさん
2012/08/02(木) 16:14:31.19ID:???実際にクッキーが生きてないとアクセスできないページにアクセスできてしまってるので、
残ってることは間違いないと思います。
0366nobodyさん
2012/08/02(木) 16:26:56.65ID:???0367nobodyさん
2012/08/02(木) 16:30:36.93ID:???もうちょっと頑張って見ます
0368nobodyさん
2012/08/02(木) 16:54:37.50ID:eVnSiRlbやっぱ include が一般て的ですか?
include しすぎると あとから、どれがどれかわからなくなってくるんですが・・・。
0369nobodyさん
2012/08/02(木) 18:12:54.45ID:???ヘッダーならheader.incとかフッターならfooter.incって名前にして
0370nobodyさん
2012/08/02(木) 19:25:46.51ID:???フレームワーク使うか、訳が分かる程度の include で済ませるようにするかの二択
0371nobodyさん
2012/08/02(木) 19:51:02.77ID:???フォルダ分けと同様
やたら細かくフォルダ分けすると、ファイルをたどるのがめんどくさくなる
0372いむ
2012/08/02(木) 20:36:15.85ID:???面白ければ人が集まります。途中経過も載せようね。
「ウ〜ディ〜タ」とは?
・完全無料のゲーム作成ツールです。
・初心者には難しいですがwikiや講座や情報やブログも充実してるので安心。
ツクールでは物足りないけどプログラミングは苦手という方にお勧め。
・作成したゲームは自由に配布したり、コンテストに投稿することも可能。
もちろん作ったゲームを販売して儲けをだしてもOK。
■作り方しだいでなんでも作れます。
■他人が作成した「コモンイベント」を利用すれば、自分では開発が難しい
ゲームシステムも容易に実現できます。
0373nobodyさん
2012/08/03(金) 07:51:56.55ID://9jIPAPecho ($a||$b);
これで$aがnull(false)の時にhogeが出ればいいのですがPHPだと無理なようです
三項演算子を使えば
echo (($a)?$a:$b);
と言った具合に書けますがしっくりきません
php5.3だと
echo (($a)?:$b);
と書けるようですが
php5.2で同様に無駄なく表現する方法ありますか?
0374nobodyさん
2012/08/03(金) 08:26:57.95ID:???0375nobodyさん
2012/08/03(金) 08:41:36.59ID://9jIPAPありがとう
0376nobodyさん
2012/08/03(金) 11:20:17.41ID:Hh2j4CgB別にエラーが出たから強制終了させるわけじゃないのに、
コードの最後にexitで終了させている人がいました。
これは何か意味があるんですか?
それともただのアホなんですか?
よろしくお願いいたします。
0377nobodyさん
2012/08/03(金) 11:22:29.09ID:???0378nobodyさん
2012/08/03(金) 11:23:51.29ID:Hh2j4CgB0379nobodyさん
2012/08/03(金) 11:47:07.54ID:???コードの最後にexitで終了させている人がいたんですよー」
小野 「な〜にぃ〜!? やっちまったな!!」
0380nobodyさん
2012/08/03(金) 14:15:46.55ID:Is3KIFa5Before:2012-08-03 12:32:25
After :Fri Aug 03 2012 12:32:25 GMT
としたいのですが
Beforeを分解してAfterにあてはめつつ、月と日付は別途アルファベットで求める
という風にするしかないでしょうか?
0381nobodyさん
2012/08/03(金) 14:17:50.36ID:???0382nobodyさん
2012/08/03(金) 14:20:52.60ID:Hh2j4CgB有効期限ってリセットされたりしますか?
0383nobodyさん
2012/08/03(金) 14:36:35.22ID:???0384nobodyさん
2012/08/03(金) 14:39:57.64ID:Hh2j4CgB0385nobodyさん
2012/08/03(金) 14:48:37.04ID:???0386nobodyさん
2012/08/03(金) 15:02:55.39ID:???そんぐらい答えてやんなよ
0387nobodyさん
2012/08/03(金) 15:30:08.52ID:???0388nobodyさん
2012/08/03(金) 16:56:28.33ID:???return $step <= $this->getStep();
0389nobodyさん
2012/08/03(金) 16:58:15.58ID:Hh2j4CgB0390nobodyさん
2012/08/03(金) 17:00:32.82ID:???0392nobodyさん
2012/08/03(金) 17:01:35.44ID:Hh2j4CgBうっせハゲ
死ね
0393nobodyさん
2012/08/03(金) 17:02:44.33ID:???0395nobodyさん
2012/08/03(金) 17:34:11.80ID:???0396nobodyさん
2012/08/03(金) 17:35:15.50ID:???preg_matchあたりで数値取得して、
mktimeぶっこみながらDATE関数で出すとか出来るけど
>という風にするしかないでしょうか?
これ何を指して言っているのかわからない。
0397nobodyさん
2012/08/03(金) 18:25:38.11ID:???という風にするしかないでしょうか?
は
なにかやりかたはないでしょうか?教えてくださいという意味だと思う。
まさに>>396の1〜2行目の部分
0398nobodyさん
2012/08/03(金) 19:03:30.86ID:???ってしてもなぜか%sに値が入ってくれません
何か間違ってますでしょうか?
0401nobodyさん
2012/08/03(金) 19:45:15.22ID:???0402nobodyさん
2012/08/03(金) 19:49:51.71ID:S+tv8I6e言語コードに hl=ja を指定してsimplexml_load_file関数を実行すると
エラーが発生してしまいます。何が原因なのでしょうか?
同じURLをブラウザから指定してアクセスするとXMLは正常に取得出来ています。
※スクリプトはutf-8です。
■コード
$data = "さんま";
$req = 'http://google.co.jp/complete/search?output=toolbar&q=' . urlencode($data);
//$req = 'http://google.co.jp/complete/search?hl=ja&output=toolbar&q=' . urlencode($data); ← hl=ja を入れるとエラー
$xml = simplexml_load_file($req);
■エラーメッセージ
Warning: simplexml_load_file() [function.simplexml-load-file]:
http://google.co.jp/complete/search?output=toolbar&hl=ja&q=xxxxxxxx
:1: parser error : Input is not proper UTF-8, indicate encoding !
Bytes: 0x83 0x7B 0x83 0x43 in /home/ore_user/www/ore_user.jp/ore.php on line 103
■ このスレッドは過去ログ倉庫に格納されています