【PHP】下らねぇ質問はここに書き込みやがれ 72
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/08/16(土) 12:01:25ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 71
http://pc11.2ch.net/test/read.cgi/php/1216291372/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0046nobodyさん
2008/08/17(日) 22:49:07ID:???phpを埋め込みたいんかな
0047nobodyさん
2008/08/17(日) 23:07:11ID:???シングル/マルチラインモードによらない
文字列の始端終端にマッチするための
\A \z がちゃんと用意されてる
$が用意された意図と>>18のやりたい事が合わないだけ
0049nobodyさん
2008/08/18(月) 02:04:33ID:???それでもpregで\A \z を使うのが賢いな
意図しない動作は避け、確実な方を取ればいいし
深く追求する必要性があるなら別だが
0050nobodyさん
2008/08/18(月) 04:13:57ID:???アホなこと思いついた!
アンカーにonclickイベントを入れてxmlhttprequestでカウントアップする。
0051nobodyさん
2008/08/18(月) 04:32:40ID:???0052871
2008/08/18(月) 12:34:01ID:GttUmTGHphp5を使用しています。
function fnc(
$a = ""
){
〜
}
このような普通のファンクションについてなのですが、
・fnc();
引数が何も送られていない
・fnc($test);
testと言う変数が送られているが、中身は未定義
・$test = "";
fnc($test);
testと言う変数が送られているが、中身は初期化
このように引数を送った場合、それぞれの状態を$aで判断することはできますでしょうか?
ドキュメント等にて調べてみたのですがこのような変数に関する微妙な扱いは見受けられませんでした。
何卒宜しくお願い致します。
0053nobodyさん
2008/08/18(月) 12:55:42ID:???0055nobodyさん
2008/08/18(月) 15:25:11ID:3TodphYx現在、便利なphpの開発環境を教えて頂けませんでしょうか?
特に不自由がなかったので、4年も同じものを使っているのですが、
もっと便利なものがあれば、乗り換えたと思っています。
有償でも5万円位までなら出してもいいと思っています。
不自由がないと書きましたが、あえて言えば実行しながらデバックが出来ないことです。
当時のeclipseでもプラグインはあったのですが、どうもうまく動作せず、
結局、echoとexitを使ってデバックしています。
ちなみに、eclipse2.1.3です。多分、古いと言われるかもしれませんが。
0056nobodyさん
2008/08/18(月) 15:32:10ID:???0057nobodyさん
2008/08/18(月) 15:34:49ID:???そんな長文書く前にバージョンアップしようよ
http://www.eclipse.org/pdt/
0058nobodyさん
2008/08/18(月) 15:49:52ID:???無償IDEのバージョンうpもできない人間は開発やめちまえ
0059nobodyさん
2008/08/18(月) 16:31:51ID:xd5mcyZy0060nobodyさん
2008/08/18(月) 16:39:22ID:xd5mcyZyもちろんPHPのインストールです。
0061nobodyさん
2008/08/18(月) 16:44:24ID:s6NDbHja俺も3.4+pdtが良いと思う
phpeclipse遅すぎてつらい
pdtもバージョン2からかなりよさげ
あと金出すならzendとかnetビーンズ?
0062nobodyさん
2008/08/18(月) 16:47:22ID:???関数外の事を知ろうとするのが間違ってるだろ
もし$aの状態を知りたいのであればis_nullとか === ''とか使えば良い
0064nobodyさん
2008/08/18(月) 18:18:56ID:xd5mcyZyすいません。
Linux版の質問スレに書いてしまいました。
あっちでも反応は得られていませんが、、、。
http://pc11.2ch.net/test/read.cgi/linux/1217051698/676
この後、PHPをソースでインストールしてみましたが、やはりだめでした。
・ httpd.confを編集(以下の2行)
LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php
・ httpd再起動
の他に特に設定することってありますでしょうか?
0065nobodyさん
2008/08/18(月) 18:30:40ID:xd5mcyZyキャッシュ見てたあああああああああああああああああああああああああああああああ
0066nobodyさん
2008/08/18(月) 18:31:09ID:???yumはどのパッケージを使ったかとか、参考にしたサイトがあるか、とか
やったことについて書いた方がいい
ぱっと思いつくのはApacheモジュールになってないパッケージを使ったってことか
まずはApacheインストールディレクトリのmodulesにlibphp5.soがあるかどうかの確認だな
L板ほっとくとマルチになるから注意だぜ
0069nobodyさん
2008/08/18(月) 20:59:21ID:3TodphYxレスありがとうございます。
ecplipse使っている人が多いので、安心しました。
バージョンアップが面倒だったのですが、
コードインスペクタもついていると知って、
週末にでもバージョンアップしてみます。
毎回、関数名が分からずに正引きしていたので、助かります。
お世話になりました。
0070nobodyさん
2008/08/18(月) 21:11:47ID:???いや、あなたがEclipseを使っているのでアドバイスしただけで、
今時Eclipseを使っている人は余程の物好きです。
あんなに重くて、メモリーを食うプログラムを
デバック処理をしようとするとすぐに固まって、
業務には使い物にならないよ。
海外で英語が苦手じゃないならx-php-laboとかおすすめだが。
0071nobodyさん
2008/08/18(月) 21:40:29ID:???コードの打ち込みが半分以下になるから、
俺も愛用している。誰か日本語のパッチ作らないかなあ。
0072nobodyさん
2008/08/18(月) 23:00:39ID:RVA7Wvm+男なら手打ちでいこうぜ
0073nobodyさん
2008/08/18(月) 23:27:41ID:???0074nobodyさん
2008/08/18(月) 23:39:56ID:???0076nobodyさん
2008/08/19(火) 01:26:11ID:???・fnc($test);
testと言う変数が送られているが、中身は未定義
呼び出し側でエラー出ないか?
fnc(""); とfnc()の区別はつけられないと思う。
というか区別しないように$a=""と書くのではないだろうか?
0077nobodyさん
2008/08/19(火) 02:17:55ID:???0078nobodyさん
2008/08/19(火) 08:52:10ID:???しかし、JavaはSunだろ。それに対してEclipseは元々ライバルのIBMの製品。
それでも、使うのかよ。
0079nobodyさん
2008/08/19(火) 09:02:07ID:???>>76
Notice非表示なら何もでない
そもそもNULLという物がある事は知ってるか?
function fnc($a=""){
if(is_null($a)){
echo "ヌル";
}else{
echo "ストリング";
}
}
0080nobodyさん
2008/08/19(火) 09:14:32ID:+fWBJARSfunctionにreturnメソッドがないと気持ち悪いと感じて、
いつも
return NULL;
としているのですが、
やはり変ですか?
0081nobodyさん
2008/08/19(火) 09:21:35ID:???returnなしでvoidになるから深く気にしない方がいい
どうしても返したいなら成功時true、失敗時falseみたいにしてはどうか
少なくともNULLはないと思う
0082nobodyさん
2008/08/19(火) 09:36:03ID:+fWBJARSお返事ありがとうございます。
phpの場合、型があいまいで、コンパイルエラーもない
値を返却しないとセキュリティー的にまずいかなぁとも思ったのですが、
true/falseならいいですね。それで実装してみます。
ありがとうございます。
0083nobodyさん
2008/08/19(火) 10:36:47ID:???0084nobodyさん
2008/08/19(火) 11:07:28ID:???ハイライトくらいしか求めるものがないから、軽量なのを選択したって感じ
一応コード補完も自動じゃないにしろあるし(ctrl+space
eclipseの機能の豊富さと拡張性はいいな
メモリ食いなのがどうもなぁ・・・JavaのGCが嫌いと言う個人的な意見だが(スレ違い割愛
0085nobodyさん
2008/08/19(火) 11:43:59ID:???個々ファイルをちまちま編集するのに結構便利だったりするんだよね。
逆に得意とすべきプロジェクト部分が弱い感じ。。
Zend Studioの新版はEclipseベースでプロジェクトメインって感じだから乗り換えるにはちょっと勇気がいる。
0086nobodyさん
2008/08/19(火) 12:02:03ID:???一括して他のクラスが参照しているメソッドの名前を修正してくれたり、
警告を出してくれるようなものはないのかな?
実行時に参照してやっとエラーが出るのが、ちょっっと。
0087nobodyさん
2008/08/19(火) 12:15:32ID:???0089nobodyさん
2008/08/19(火) 12:18:53ID:???0090nobodyさん
2008/08/19(火) 12:26:25ID:???だったら楽になるのを作ればいいんじゃね?
0093nobodyさん
2008/08/19(火) 12:42:32ID:???ほっとけ、どうせ>>90は暑さで頭がおかしくなっているか、もしくは元々おかしい。
なんでも自分でやろうして自滅するタイプ。
他人の作った物を信用せず、自分が一番だと思っているんだろ。
つまり、猜疑心が強く、逆にいえば、自己顕示欲が強い奴だ。
この手のタイプはプログラマーに多いが、
こういう奴は、大概ドキュメント書くのが下手。そしてプログラムにもコメントを書かない。
三項演算子を多用してプログラムを短くことに執着心と美学を感じている。
うざい、うざすぎる。暑いのが、更に暑くなる。
0094nobodyさん
2008/08/19(火) 12:43:42ID:???0096nobodyさん
2008/08/19(火) 12:59:50ID:???それはともかく、面倒なのも嫌、作るのも嫌なら自分で探してくるか
お金を払って誰かに作ってもらいなさいね
もしかして自分で探すのも時間がかかって本末転倒?
0098nobodyさん
2008/08/19(火) 13:13:43ID:???> レッテルを貼りたいお年頃ってやつですね、わかります
お前自身がレッテル貼ってんじゃんw
自己矛盾にも気づかないんだろうなぁ。それとも新手の釣りですかw?
0099nobodyさん
2008/08/19(火) 13:28:58ID:???0100nobodyさん
2008/08/19(火) 13:47:24ID:???文章書く時に癖に気をつけないとね
0101nobodyさん
2008/08/19(火) 15:10:20ID:???希望を満たしたIDEを知ってるなら教えてやればいいし、ないならないでいい
まとめ厨の俺乙
0102nobodyさん
2008/08/19(火) 15:35:33ID:???$array = array(
1 => array("田中", 38),
2 => array("吉田", 67),
3 => array("渡辺", 11),
);
これを数値の低い順番に
$array = array(
3 => array("渡辺", 11),
1 => array("田中", 38),
2 => array("吉田", 67),
);
のようにソートしたいんですがどのようにすればよいのでしょうか
0104nobodyさん
2008/08/19(火) 15:37:43ID:2hCJvM5XPHP 5.2.1を使用しています。
$handle = file("http://www.yahoo.co.jp/");
を実行すると
Warning: file(http://www.yahoo.co.jp/) [function.file]: failed to open stream: HTTP request failed! <!doctype html public "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> in C:\Program Files\xxxxx\xxxxx\test.php on line 2
とエラーになります。
php.iniのallow_url_fopenはOnです。
どうすれば外部urlを読み込めるのでしょうか?
何卒宜しくお願い致します。
0105102
2008/08/19(火) 15:39:03ID:5mUkQ2xD宜しくお願いします。
0107104
2008/08/19(火) 15:54:09ID:2hCJvM5Xxamppです。
0108nobodyさん
2008/08/19(火) 16:02:11ID:???0110nobodyさん
2008/08/19(火) 16:28:03ID:???0112nobodyさん
2008/08/19(火) 17:08:24ID:rbkh+xPC0113nobodyさん
2008/08/19(火) 17:09:43ID:???phpinfo()で「Registered PHP Streams」にhttpはあるのか?
>>102
多次元配列だな
array_multisortを使え
数値列を1次元配列で取得してarray_multisortの最初の引数にSORT_ASCフラグと一緒に指定
第2引数に元の配列を入れる
これで出来んか?
0114nobodyさん
2008/08/19(火) 17:15:36ID:???header関数が使えないってどういう状況だろう
既に送信済みなんじゃないのか?
スーパーグローバルも使えるはずだが・・・
var_dump($_GET);とかで見れないか?
まさかregister_globalsのことじゃないだろうな
0115nobodyさん
2008/08/19(火) 17:23:40ID:VxtPs/tVどうしたらいいんでしょうか。
0116nobodyさん
2008/08/19(火) 17:26:20ID:???http経由か?
それなら 「ttp://ユーザ名:パスワード@ドメイン/URL」でイインダヨー!!
ユーザ名とパスワードをrawurlencodeするのを忘れんな!
0117nobodyさん
2008/08/19(火) 17:42:25ID:???----index.cgi-----------
#!/usr/local/bin/php
Content-type:text/plain
<?php phpinfo();
------------------------
こういう状況です
phpは5.2.6でコンパイルオプションに--enable-force-cgi-redirectをつけてみたりしましたが、headerではなくContent-typeをそのまま書かないと動きません。
0118nobodyさん
2008/08/19(火) 17:53:10ID:???--enable-force-cgi-redirectはモジュール版からCGI版へのリダイレクトだから関係ないっと
普通は一行目の宣言でphpにスクリプトが渡されるからphpで処理されるよな
Content-typeはブラウザへの宣言だからぶっちゃけPHPとは関係がなかったりする
さぁどこに原因があるか分かるやつカモン!
0119nobodyさん
2008/08/19(火) 17:55:02ID:???headerつかうとどうなるの?
0120nobodyさん
2008/08/19(火) 17:57:56ID:???ブラウザには何もソースが送られてないとかか?それともエラーになってるのか?
0121nobodyさん
2008/08/19(火) 18:06:16ID:???<?php
header('Content-type:text/html');
これでヘッダが出力されてないのでInternal Server Errorになります
0123nobodyさん
2008/08/19(火) 20:14:18ID:PaGmE6kQ「私は韓国人だよ。」という文字列と「私は日本人だよ」という文字列を比較して、
その差分(上記でしたら「日本」という文字)を表示させる処理を行いたいですか、
そのやり方に苦戦しています。
「文字列から文字列を引き算すれば〜」「forの入れ子で一文字ずつ比較して〜」等
いろいろと考えてみたのですが、どれも上手くできません。
何かアドバイスをいただけますでしょうか・・・・
0124nobodyさん
2008/08/19(火) 20:25:37ID:???0125nobodyさん
2008/08/19(火) 20:29:29ID:/yAc2/hi何か便利な標準関数はありませんか
0126nobodyさん
2008/08/19(火) 20:41:42ID:???0127nobodyさん
2008/08/19(火) 21:03:23ID:???今のところwikiも行単位の差分だもんなぁ
文字列比較になると文字数の違いをどう吸収するかが悩みどころだろう
諦めて行単位のdiffがいいと思うぜ?
俺だとarray_diffとarray_intersectを使って文字自体の違いと共通を出してそこをヒントにフレーズを導く、
とか考えるが難しいことには変わりない
0128nobodyさん
2008/08/19(火) 21:21:13ID:6/c1nOwy//各レコード内容を表示する表を組み立てます
$body .= "<TR>
<TD>
<INPUT type='text' name='categname[]' value=\"$col[categoryname]\" size='70'>
<INPUT type='submit' name='btnedit$cnt' value='更新'>
<INPUT type='submit' name='btndel$cnt' value='削除'>
<INPUT type='hidden' name='categid[]' value='$col[categoryid]'>
</TD>
</TR>";
$cnt++;
}
というプログラムで、データを渡したいんですけど、
$categname[]=$_POST['categname'];
$btnedit=$_POST['btnedit$cnt'];
$btndel=$_POST['btndel$cnt'];
$categid[]=$_POST['categid'];
foreach($_POST['categname'] as $value){
$categname[]=$value;
}print_r($categname."<br>");
foreach($_POST['categid'] as $value){
$categid[]=$value;
}
でデータを受け取っています。でも、更新ボタンや削除ボタンが複数ある時に、nameが一緒なのでどのように判別すればいいかがわかりません。どのようにすればいいでしょうか?
0131nobodyさん
2008/08/19(火) 21:32:25ID:6/c1nOwyやはりこのやり方ではできないんでしょうか?
0132nobodyさん
2008/08/19(火) 21:51:08ID:???$btndel=$_POST['btndel$cnt'];
ここをループさせて更新とか削除という値が入ってる$cntを探せばいいんじゃないのだろうか?
>通常1formにsubmitは1つ
んなこたーない。
nameは統一してvalueで区別するとラジオボタンと同じ感覚で使える。
とはいえvalueってのがそのままボタンのラベルになるからどうも使いづらいんだよな。
0133nobodyさん
2008/08/19(火) 22:06:49ID:???せめてbuttonタグが思い通りに動いてくれればいいのにな
下みたいなヤツ
<button type="submit" name="action" value="regist">登録</button>
inputタグでやるとマルチバイトでswitchやifするのが気持ち悪いんだよなぁ
0134nobodyさん
2008/08/19(火) 22:11:30ID:6/c1nOwyこのようにしてみたんですが、ダメでした。
for($cnt = 0; $cnt < $reccnt; $cnt++) {
if(isset($_POST['btnedit$cnt'])){
$btname=$btndedit.$cnt;
break;
}
}
更新が入っている$cntを見つけたら$btnnameにbtnedit$cntという値を保存したいんです。どうすればいいかわかるでしょうか?
0135nobodyさん
2008/08/19(火) 22:18:21ID:???----------------
categname[]
categid[]
----------------
を
----------------
categname[$cnt]
categid[$cnt]
----------------
にしたらいいんじゃないか?
btnedit$cntの$cnt部分から目的のデータを正確に取れる
0136nobodyさん
2008/08/19(火) 22:22:52ID:6/c1nOwy0137nobodyさん
2008/08/19(火) 22:57:55ID:6/c1nOwyボタンを押しても送られてくる$cntは最後の値しか入ってないんですが、そこはどうにかならないですかね?
0138nobodyさん
2008/08/19(火) 23:21:48ID:???0139nobodyさん
2008/08/19(火) 23:25:02ID:/yAc2/hiforをぶんぶん回すのがいやだなーと思ったのですが、仕方ないですね。
失礼しました
0140nobodyさん
2008/08/19(火) 23:36:15ID:6/c1nOwyvar_dump($_POST)してみたんですけど、結果は
["btnedit1"]=> string(4) "更新"
となりました。この結果のbtnedit1だけ取り出せないですかね?valueは更新なので、そっちだけなら受け取れるのですが。
>>139
具体的にどのように使えばいいんでしょうか?今調べてみたんですが、どのように、どこで使えばいいのかよくわからなくて・・・
0141nobodyさん
2008/08/19(火) 23:55:15ID:???0142nobodyさん
2008/08/19(火) 23:58:20ID:6/c1nOwyそれはどのボタンを押すかによって変わるんじゃないんですか?例えば3番目のボタンを押したら$cnt=3になってほしいんですが
■ このスレッドは過去ログ倉庫に格納されています