【PHP】下らねぇ質問はID出さずに書き込みやがれ 1
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2010/11/07(日) 17:11:24ID:???0566555
2011/05/05(木) 23:55:00.97ID:xGGX9oCiあ、それなら動きますね!
一つ不思議なことに
011_counter.phpだと
0 人目
と、0と人の間にスペースが一つ空くんですが、
011_counter_kai.phpや>>564さんのを参照して作った011_counter_kei.phpは
1人目
のように0と人の間にスペース空きません。
>>565
この辺ですか?
Note that the ++ and -- don't convert a boolean to an int. The following code will loop forever.
function a($start_index) {
for($i = $start_index; $i < 10; $i++) echo "\$i = $i\n";
}
a(false);
This behavior is, of course, very different from that in C. Had me pulling out my hair for a while.
なるほど、これが宣言無しで動いてしまうPHPの盲点なんですね(ただ、Perlでは今のところこんなのに出会ったことはないですね…)。
元々はC言語書きなんで宣言無いのは違和感あります。
確かに自分のコード(テキストの載っているそのままですが)を見ると、文字列で取得してそのままインクリメントしてますね。
「基礎から学べるPHP標準コースウェア」河西朝雄 記述評論者、って本です(晒し上げ)。
勉強になりました。これからも勉強し続けます。ありがとうございました!
0567nobodyさん
2011/05/06(金) 00:26:22.98ID:???> C では 'Z'+1 は '[' ( ord('Z') == 90, ord('[') == 91 ) を返します。
> 文字変数はインクリメントされることは可能ですがデクリメントは不可能であるということ、
> またプレーンな ASCII 文字 (a-z および A-Z) のみがサポートされるということに注意しましょう。
多分で申し訳ないんだけど、改行が含まれる文字列の場合、数値以外のものが含まれているため、
数値としてインクリメントは不可、また、文字列としてのインクリメントに関しては、[a-zA-Z0-9]以外の
文字が含まれているため不可、ということなんじゃないかなと。
> またプレーンな ASCII 文字 (a-z および A-Z) のみ
こう書いてるけど、Perlと同様、a-z および A-Z および 0-9 と思う。
0568555
2011/05/08(日) 02:20:11.69ID:???ありがとうございます。
なるほど、そっちの方でしたか。
こういう問題があるならやっぱり宣言を必須にしてほしいですね。
0569nobodyさん
2011/05/08(日) 02:29:31.79ID:???連想配列の宣言が必要そうなんですが、どこにどう入れていいのか思い付きません。文章を引用します:
連想配列を利用して、ファイル056_word.txtの単語の頻度を配列に取得する例を示します。
strtokは文字列をトークンに分ける関数です。Windowsファイルの改行は\n\rなので、
\rも区切りに含めないと\rが単語として配列にカウントされてしまいます。
### 055_hash3.php ###
<pre>
<?php
$word=file_get_contents("056_word.txt");
$tok=strtok($word,".\n\r ");
while ($tok!=false){
$tokcount[$tok]++;
$tok=strtok(".\n\r ");
}
print_r($tokcount);
?>
</pre>
実行結果
Array
(
[This] => 1
[is] => 2
[a] => 2
[pen] => 1
[That] => 1
[book] => 1
)
続きます。↓
0570nobodyさん
2011/05/08(日) 02:42:45.94ID:???### 056_word.txt ###
This
is
a
pen
That
is
a
book
…なのでしょう。それをそのまま実行すると、以下のメッセージと共に予想された実行結果が出ます:
Notice: Undefined index: This in /UNIONFS/opt/lampp/htdocs/php/055_hash3.php on line 7
Notice: Undefined index: is in /UNIONFS/opt/lampp/htdocs/php/055_hash3.php on line 7
Notice: Undefined index: a in /UNIONFS/opt/lampp/htdocs/php/055_hash3.php on line 7
Notice: Undefined index: pen in /UNIONFS/opt/lampp/htdocs/php/055_hash3.php on line 7
Notice: Undefined index: That in /UNIONFS/opt/lampp/htdocs/php/055_hash3.php on line 7
Notice: Undefined index: book in /UNIONFS/opt/lampp/htdocs/php/055_hash3.php on line 7
Array
(
[This] => 1
[is] => 2
[a] => 2
[pen] => 1
[That] => 1
[book] => 1
)
…上のメッセージが出ないようにするにはどうすればよいのでしょうか?
あっ!今、気付いたんですが、インデックスが未定義と言っているんですね…。
そりゃ、今ファイルから切り取ってきたばかりの単語たちですから、定義されてたら逆におかしいですよね…?
しかも検索したら出てきました、エラーレベルを落とせばいいんですね。お騒がせしました。(^^ゞ
0571nobodyさん
2011/05/08(日) 03:17:31.53ID:???0572nobodyさん
2011/05/08(日) 05:05:26.21ID:???それに、>>568のような気持ちがあるなら警告レベルを落とすなんて雑なことをせず、
コードを直すほうがいい。
それはそれとして、問題がいくつかあるので指摘。
・Windowsの改行コードはCRLF(\r\n)
・どこかに0という単語が含まれてるとそこで終わる
・古いPHPだともっといろんなところで終わる
これらの問題は while ($tok !== false) とすれば解決するけれど、
なぜそうなるのかはマニュアルでも見て。
てか、その本ダメだと思うなら捨てちゃえばいいと思うよ。
著者サイトで正誤表が公開されてないかの確認はしてる?
# 昔は出版社に誤植の指摘すると図書券くれたりしたもんだけど今はないのかな。
0573nobodyさん
2011/05/09(月) 20:22:58.78ID:???ありがとうございます。
直せるんですか?
直せるなら直したいです。
今、正誤表あるのか調べてみましたけど、無いみたいですね。
でも、サンプルがダウンロードできました!
055_hash3.php、仰るとおり while ($tok !== false) に訂正されてましたよ。w
056_word.txtも二行で書かれてました。
!=と!==の違いはこの本で説明されてました。
でも、実行するとやっぱり同じメッセージが。
どうやってこれを直すのですか?
0574nobodyさん
2011/05/09(月) 20:36:04.22ID:???0576nobodyさん
2011/05/11(水) 02:04:30.40ID:???そんなに忙しくなったことないのは幸せなことだなぁ
0577nobodyさん
2011/05/11(水) 07:11:21.64ID:???0578nobodyさん
2011/05/11(水) 09:11:54.11ID:???http://gihyo.jp/book/2009/978-4-7741-3800-8/support
酷すぎて修正するだけ時間の無駄というか、別の本で勉強し直したら?
少なくとも仕事のために覚えたい人は読んじゃいけないコードばかり
0580nobodyさん
2011/05/14(土) 15:23:36.30ID:???if文の条件式に「もし改行があれば」ってどういう風に書けばいいでしょうか
今やりたいことは
あるテキスト(A.txt)を一行ずつ取得して
空行ならcontinue;みたいなことができれば最高です。
【ソース】
$text = fopen("C:/A.txt","r");
$i = 0;
while(($line = fgets($text))){
//もし改行のみならば飛ばして次の行に進むみたいなの作りたいけどwhile進まんお……^ω^;
if($line == \n){ //←これが不正
continue;
}else{
$i++;
file_put_contents("C:/".$i.".txt",$line);
}
}
0581nobodyさん
2011/05/14(土) 15:32:47.25ID:???0583nobodyさん
2011/05/14(土) 16:17:07.81ID:???0584nobodyさん
2011/05/14(土) 18:50:34.52ID:???0585nobodyさん
2011/05/14(土) 19:15:15.02ID:???$line = array_merge(array_filter(file("C:/A.txt"), 'strlen'));
for ($i=0; $i<count($line); $i++) file_put_contents("C:/".$i.".txt",$line);
0586nobodyさん
2011/05/18(水) 21:43:09.18ID:???以下程度の事ができるプログラマーなんだけど、どれくらいのレベルと判断できるだろうか?
プログラムー歴:約3年
使用可能言語
HTML,php,JavaScript
CSS.ActionScript(仕事では使えないレベル)
サーバ構築
CentOS+yumならだいたいできる。
ソースからあれこれインストールは経験少ない。
DB:MySQL PostgreSQL
【開発実績?】
WordpressやEC-CUBEのカスタマイズ
独自パッケージのCMS開発
(EC-CUBEのパクりみたいなの)
大雑把でいいので、初級、中級、上級のどれだろう?
0587nobodyさん
2011/05/18(水) 21:45:45.26ID:???0588nobodyさん
2011/05/18(水) 22:51:27.21ID:???転職をしようと思ってそれを面接で言ったとしても特にメリットにならない感じ。
とはいっても、自分はこれができますってアピールは難しいように思う。
ので、結局実力は使ってみないとわからないってことになるんじゃないだろうか
0589nobodyさん
2011/05/18(水) 23:15:20.11ID:???いまどき、JavaScriptができる、というだけだと何もできないようなもんじゃないかねぇ?
なんらかのライブラリ名やらフレームワーク名が出ると面接の時にも会話になると思うよ。
名前出してもきょとんとしてる面接官もいる、というか多い気もするが・・・
まぁ、面接官の試験とかもないんだししょうがないか。
あぁ、JavaScript以外でもフレームワークの話ができるといいかもな
あと、今の時期にCentOSとか言ってるのはちょっとぼけてる。ニュース探しておいたほうがいいぞ。
yumできるのはあたりまえ。自作パッケージできて一人前なんじゃないかな?
初級というのはちょっときびしいかもしれない気もするが、初級、という判定をしておく。
IT関係のサイトに目を通す癖をつけて、アンテナを高くしておくといいぞ。
0590nobodyさん
2011/05/18(水) 23:24:27.52ID:???http://php.net/manual/ja/index.php
って、一応公式ですけど、プロの方から見て良いマニュアルですか?
0591nobodyさん
2011/05/18(水) 23:26:20.67ID:???RHEL6がでたこととは関係ないだろうし、CentOSがとがめられるような出来事でもあったの?
yum使えて当たり前なのは同意するが、自作パッケージ作るなら俺リポジトリを作るのも必須じゃないだろうか。
といいつつ、システム管理の話だし、プログラマの技量には大して影響がないと思う。
0597nobodyさん
2011/05/19(木) 00:05:16.13ID:???0598nobodyさん
2011/05/19(木) 00:09:50.72ID:???この話のことをいっているなら、CentOSを使わない理由にはならないし、何が言いたいのかさっぱりわからん。
0599nobodyさん
2011/05/19(木) 00:10:51.88ID:???ほっとけ
0600nobodyさん
2011/05/19(木) 00:19:16.68ID:???変数が無かったり
公式を名乗るマニュアルが初心者にいきなり断片ですか?
自分は補完できますけど、多分初めての人には_
0601nobodyさん
2011/05/19(木) 00:22:05.44ID:???0603nobodyさん
2011/05/19(木) 00:35:22.79ID:???パッケージとレポジトリを同列に話しているのが訳分からん
「プログラマ」の話として関係無いという事ならそうなのかもしれん。
つーか、そういうことならOSの話も関係ないな
>>598
自分が何を言っているのか分かっているのか?
0604586
2011/05/19(木) 00:52:22.55ID:???>>588
>>589
どうもです。
社内にプログラマーが俺一人だから気になっていたんだが、よく分かりました。
精進します。
そしてCentOSの話題で荒れるとは思わなんだw
0605nobodyさん
2011/05/19(木) 01:52:20.68ID:???rpmコマンドとyumコマンドせっせと使い分けてもいいけどめんどくさくね?
既存パッケージのspec書き換えしたときは余計めんどくさいことにならね?
0606nobodyさん
2011/05/19(木) 06:30:15.46ID:???俺も始めたばかりの頃は、マニュアルを読めと言われても全然理解できなかったから
言いたいことはなんとなくわかる
他言語の経験者は仕様さえわかれば何とかなるが、
プログラミングのやり方自体がわかってない初心者が導入用に使うには難しいのだろうね
仕様書であって、チュートリアルではないから
ただ、読めるようになってから価値が分かった
他のLL言語の公式と比べると、体系的で充実度が高くて素晴らしいと思う
0607nobodyさん
2011/05/19(木) 20:35:03.52ID:???いや、その位置付けがなんとも中途半端でどうかなと思うんですけど?
SunのJavaのチュートリアル(英語)は断片コードもなく完全に網羅していますよ
PHPマニュアルは間違いなく、初心者駆除、本買わせよう臭がプンプンします
0609nobodyさん
2011/05/19(木) 21:22:01.72ID:???0610nobodyさん
2011/05/19(木) 21:24:12.50ID:???namespace namespacename;
class classname
{
function __construct()
{
echo __METHOD__,"\n";
}
}
function funcname()
{
echo __FUNCTION__,"\n";
}
const constname = "namespaced";
include 'example1.php';
$a = 'classname';
$obj = new $a; // classname::__construct と表示します
$b = 'funcname';
$b(); // funcname と表示します
echo constant('constname'), "\n"; // global と表示します
// 俺様談: おいおい、ここまでは'example1.php'のnamespaceが使われてんのかよ!
0611nobodyさん
2011/05/19(木) 21:24:45.60ID:???$large_number = 2147483627;
var_dump($large_number);
// 出力: int(2147483627)
$large_number = 2147483648;
var_dump($large_number);
// 出力: float(2147483648)
// 2^31 から 2^32 -1 までの値については、
// 指定した 16 進表現整数を出力できる
var_dump(0xffffffff);
// 出力: float(4294967295)
// 2^32 -1 を超える値については、
// 指定した 16 進表現整数を出力できない
var_dump(0x100000000);
// 出力: int(2147483627)
// 俺様談: えっ?float(4294967296)って出るけど何か?
$million = 1000000;
$large_number = 50000 * $million;
var_dump($large_number);
// 出力: float(50000000000)
?>
0612nobodyさん
2011/05/19(木) 21:28:46.07ID:???error_reporting(E_ALL);
$great = 'fantastic';
echo "This is { $great}";
echo "This is {$great}";
echo "This is ${great}";
echo "This square is {$square->width}00 centimeters broad.";
echo "This works: {$arr[4][3]}";
// これが動作しない理由は、文字列の外で $foo[bar]が動作しない理由と同じです。
// 言い換えると、これは動作するともいえます。しかし、PHP はまず最初に foo という名前の定数を探すため、E_NOTICE レベルのエラー(未定義の定数) となります。
echo "This is wrong: {$arr[foo][3]}";
// 動作します。多次元配列を使用する際は、文字列の中では必ず配列を波括弧で囲むようにします。
echo "This works: {$arr['foo'][3]}";
// 動作します
echo "This works: " . $arr['foo'][3];
echo "You can even write {$obj->values[3]->name}";
echo "This is the value of the var named $name: ${$name}}";
/*
俺様談: 動作するはずなんだが、動作しない;やっぱり関数は定義されてないといかんのだろう
echo "This is the value of the var named by the return value(): {${getName()}}";
echo "This is the value of the var named by the return value->getName(): {${$object->getName()}}";
*/
?>
0613nobodyさん
2011/05/19(木) 21:33:10.24ID:???0614nobodyさん
2011/05/19(木) 21:46:45.24ID:???説明のとおり。言語仕様に対する文句?
>>611
URL教えてください
>>612
言いがかりにしか見えない
0615nobodyさん
2011/05/19(木) 22:01:08.87ID:???0619nobodyさん
2011/05/19(木) 22:11:03.62ID:???というか、上ので分かるでしょ?
0620nobodyさん
2011/05/19(木) 22:18:50.40ID:???この内容を見て、関数が定義されてないからマニュアルの不備だの断片しか書いてないだのどう見ても言いがかり。
国語の勉強でもしなおしたらどうかね。
で、>>611のURLをお願いしたい。
0621nobodyさん
2011/05/19(木) 22:25:08.68ID:???SunのJavaマニュアルならすべての関数が書かれてますが?
>>611のは確実にありました(過去形)
どうせ怪しいから消したんでしょう、きっと
あと、変数がないのも黙って自分で直してますからね
見つかりませんわ
0622nobodyさん
2011/05/19(木) 22:31:45.23ID:???問題だらけといいつつ、見つけられた問題は>>612だけってことかな。
0623nobodyさん
2011/05/19(木) 22:33:54.47ID:???http://java.sun.com/j2se/1.5.0/ja/docs/ja/relnotes/devdocs-vs-specs.html
からチュートリアルに行こうと思ったんだけど、、、
0624nobodyさん
2011/05/19(木) 22:36:12.61ID:???もう約二年前ですがね
>>612だけでも嘘じゃないって判るでしょ?
他にもたくさんありました、コード中の変数を和訳しちゃって動かないコードとかw
でもこの調子じゃまだありそうですね
0625nobodyさん
2011/05/19(木) 22:40:19.40ID:???0626nobodyさん
2011/05/19(木) 22:40:49.23ID:???それとも2年前に初心者だった自分の気持ちを今吐き出してんの?
0628nobodyさん
2011/05/19(木) 22:43:25.04ID:???マニュアルの作りの悪さは棚に上げてw
0629nobodyさん
2011/05/19(木) 22:46:52.73ID:???http://download.oracle.com/javase/tutorial/java/nutsandbolts/expressions.html
なるほど、ちゃんと変数は全部書かれてい……るの?これ。Java知らんけどコピペすれば動くんだよね
0631nobodyさん
2011/05/19(木) 22:56:05.06ID:???あと日本語チュートリアルないんすかね。
0632nobodyさん
2011/05/19(木) 23:00:39.04ID:???日本語のはない
0633nobodyさん
2011/05/19(木) 23:02:38.85ID:???どっちもどっちか
せめてリンク切れぐらい直すようにフィードバックしといて
0634nobodyさん
2011/05/19(木) 23:03:19.24ID:???0635nobodyさん
2011/05/19(木) 23:05:08.91ID:???> 「なぜ実用的なコード例、一般的なプログラミング用語の定義、概念、メタファ、図、実装上のバグと回避策が十分に含まれていないのですか。」
> これは、こうした情報は以下のドキュメントに盛り込み、仕様は、実装に準拠させるための「条件」にとどめることにしたからです。
PHPもサンプルを削除して、翻訳もしないほうが良いドキュメントになるって言いたいんじゃない?わからんけど。
0636nobodyさん
2011/05/19(木) 23:06:23.80ID:???サポート対象外になったならドキュメント消せばいいのにうっとうしい
0637nobodyさん
2011/05/19(木) 23:13:52.91ID:???> さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。
リンク切れてる。
http://java.sun.com/javase/ja/6/docs/ja/ ここ見ろって事なんだろうけどね。
0638nobodyさん
2011/05/19(木) 23:18:44.91ID:???まぁ全部俺の自演なんだけど
0639nobodyさん
2011/05/19(木) 23:24:08.50ID:???0640nobodyさん
2011/05/19(木) 23:24:29.05ID:???0641nobodyさん
2011/05/19(木) 23:27:06.98ID:???0642nobodyさん
2011/05/24(火) 04:40:48.96ID:???変数名の補完は$無視して入力補完を出してくれる開発環境ってありませんかねー。
慣れなきもするけど・・・。
0643nobodyさん
2011/05/24(火) 17:22:57.23ID:???0644nobodyさん
2011/05/24(火) 17:34:14.50ID:???マクロで自動的に$を付けてくれます
0645nobodyさん
2011/06/04(土) 11:16:17.83ID:???0646nobodyさん
2011/06/04(土) 12:42:12.01ID:hFKNKNRf0647nobodyさん
2011/06/04(土) 13:56:06.87ID:tDFPsh35ob_start(); @readfile($Adress); $buffer=ob_get_contents(); ob_end_clean();
みたいなのから取ってきて自分のローカルで適当に加工して表示させて使うのはありですか?
普通にブラウザで表示はできるのに上のコードではできないページもあったりして、
どの程度なら・どういう方法ならOKなのか知りたいです。
(HTTP/1.1 403 Forbiddenが出る等)
0648nobodyさん
2011/06/04(土) 13:59:14.87ID:???0649nobodyさん
2011/06/04(土) 14:07:00.93ID:???なしです
0650nobodyさん
2011/06/04(土) 14:31:17.71ID:???ローカルにアパッチとPHPの環境を用意しておいて、そのメニューのリンクのアドレスを何個か
コピペしてPHPで処理させて表示させるのもだめですか?今より便利になればと思うのですが・・・
0651nobodyさん
2011/06/04(土) 14:34:19.70ID:???0652nobodyさん
2011/06/04(土) 14:40:38.39ID:???コピペの段階で無理だと思っておきます。大変失礼しました。
0653nobodyさん
2011/06/04(土) 14:42:33.04ID:???0655nobodyさん
2011/06/04(土) 23:10:24.00ID:???まじださいよ まじで
終わってる
早く死ねばいいんじゃないんですかね???
Javascriptでベンチャーとかまじそういうやつ沸いてそうだね
ごみみたいなハテナにつづってるやつ
ああああ、いっちゃった 本当のことをいっちゃったよ君たち
まだAJAXとかJAVASCRIPTってわめいてんだね
…ってPerl忍者がわめいてた
0656nobodyさん
2011/06/04(土) 23:57:37.04ID:???出張して来るだろうが
0657nobodyさん
2011/06/05(日) 00:38:55.87ID:???XSS対策ってhtmlspecialcharsだけでOKですか?
0658nobodyさん
2011/06/05(日) 00:39:56.49ID:???0659nobodyさん
2011/06/05(日) 00:49:33.93ID:???0660nobodyさん
2011/06/05(日) 01:23:45.08ID:???入力内容を加工してHTML出力をする点では簡単な掲示板も複雑な掲示板も変わらん。
なもんで、すんごい複雑な掲示板でやってるのと同じXSS対策が必要だよ。
0661nobodyさん
2011/06/05(日) 01:47:39.29ID:???htmlspecialcharsじゃなくてaddslashesだろうがw
0662nobodyさん
2011/06/05(日) 02:15:25.00ID:???0663nobodyさん
2011/06/05(日) 02:28:04.53ID:???0664nobodyさん
2011/06/05(日) 02:48:04.88ID:???0665nobodyさん
2011/06/05(日) 02:55:33.78ID:???順当に考えれば>>661に対してなんだろうけど、このスレなら……
■ このスレッドは過去ログ倉庫に格納されています