PHP総合雑談スレ
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001nobodyさん
2008/01/14(月) 21:35:11ID:???反省はしていない
0838nobodyさん
2009/06/01(月) 19:04:18ID:???0839nobodyさん
2009/06/01(月) 22:01:49ID:???コンパイラ通すような言語だとこういうのはどっちで書いてもコンパイル時の最適化で
実行ファイルでは全く同じ処理するように置き換えられたりしそうだけど
PHPだと無理なんだっけ?中間コードみたいな
0840nobodyさん
2009/06/02(火) 01:08:20ID:???is_nullは組み込み関数故、C言語のコンパイラ/リンカレベルで最適化されているはず。
そのため、$hoge === nullを比較するopコードと、組み込み関数を呼び出すopコードの違いと考えると、そこまで大きな差は生まれないような気がする。
実際PHPのソース拝んだ訳じゃないから、適当な思いつきだけど
>>839
Zend optimizerとかeAcceleratorのoptimizerオプションをonにすれば、少しは最適化されるかもね。
あとは、大幅に改善されると噂されるPHP 6(Zend Engine 3)に乞うご期待ってところ?
0841nobodyさん
2009/06/02(火) 02:11:45ID:???まぁそのあたりの差が顕著になるようなものをPHPで作ること自体ありえない気もするけどなw
0842nobodyさん
2009/06/02(火) 02:24:41ID:???実装意図はis_*軍団のインテグリティのためだろう
型判定のシリーズがあるから
まあよりカオスになっとる気もするけどな
0843nobodyさん
2009/06/02(火) 15:09:20ID:???0844nobodyさん
2009/06/02(火) 22:44:13ID:???0845nobodyさん
2009/06/03(水) 03:01:02ID:???0846nobodyさん
2009/06/04(木) 10:04:26ID:???CIにのせたわけじゃないけど
Posqlってメソッドが充実してるし使えると思うぞ。
小規模なものならな。
PHP構文が使えるのは楽だ
0847nobodyさん
2009/06/06(土) 03:19:48ID:???世の中いろいろな変わり種があるもんだな
0848nobodyさん
2009/06/08(月) 14:19:55ID:???高級言語とレTゎ抽象化も重要だょね
論理的レこ同等でょリ高速ナょ機能を求ぬナこら才一ノレぁセンブラに行き着ぃTしまぅょ
0849nobodyさん
2009/06/08(月) 22:31:11ID:???0850nobodyさん
2009/06/09(火) 00:50:39ID:???0851nobodyさん
2009/06/09(火) 23:30:19ID:???0852nobodyさん
2009/06/10(水) 13:47:13ID:???0853nobodyさん
2009/06/12(金) 05:05:33ID:???0854nobodyさん
2009/06/14(日) 14:28:25ID:???PHPでもIDE導入しようかと検討中
トータルでかかるコスト考えたら一時的な重さにイライラするほうが効率よさそう
とりあえずPHPEclipseあたりかなぁ
0855nobodyさん
2009/06/14(日) 15:23:49ID:???0856nobodyさん
2009/06/14(日) 18:28:18ID:???Eclipse+PDTからNetBeansに乗り換えた時はコレが効かなくてがっかりした。
0857nobodyさん
2009/06/14(日) 20:02:29ID:???ttp://techblog.ecstudio.jp/tech-tips/tech-tips/re-phpeclipse.html
一年前の生地だけど、ここみて選ぶならPHPEclipseのがいいのかなーと思った
PHPEditorはさすがにちょっと…^^;
0858nobodyさん
2009/06/14(日) 21:30:09ID:???もう少しレスポンス良くしてくれないと気持ちよく組めない
0859nobodyさん
2009/06/14(日) 23:36:01ID:???その記事Eclipseスレでも論破されてたけど
出現箇所の表示とかPDTでも昔からできるぞ
そいつが設定方法知らないだけじゃないかって話
0860nobodyさん
2009/06/14(日) 23:55:03ID:???0861nobodyさん
2009/06/15(月) 01:37:41ID:???0862nobodyさん
2009/06/15(月) 09:51:13ID:???メモリも1GB程度しか食わないし
0863nobodyさん
2009/06/15(月) 13:56:39ID:???メモリは使えば使うし、使わなければそんなに食わない
0864nobodyさん
2009/06/15(月) 15:08:15ID:hQbzBooU0865nobodyさん
2009/06/15(月) 18:37:19ID:???関数内でエラーが出たらどこで呼び出されてエラーが出たのか分からねぇや。
エラーハンドリングをやらないクソグラマは絶滅した方がいいな。
0866nobodyさん
2009/06/15(月) 20:57:49ID:???同じ処理をループにしようとかも思いつかないらしい
イライラがとまらない
0867nobodyさん
2009/06/15(月) 22:18:32ID:???それは中華だからじゃなくてコーダだからだ
0868nobodyさん
2009/06/15(月) 23:03:28ID:???0869nobodyさん
2009/06/15(月) 23:38:24ID:???0871nobodyさん
2009/06/16(火) 16:04:21ID:1A1uQnOj客にNoticeとか見せたくないのもあるな。
例外はPHP5からなんでまず4の遺産を処分しないと
0872nobodyさん
2009/06/16(火) 16:12:12ID:???クラスから登録→呼び出しを強制。
中身は配列登録と、書き込みと、呼び出すときのチェックだけwww
0873nobodyさん
2009/06/16(火) 23:15:36ID:???function get($key){
return isset($this->data[$key])?$this->data[$key]:null;
}
というメソッドを持つクラスを作ることは多いな。
$_POST、$_GETとかは全部専用のオブジェクトに格納する。主目的はグローバルの隠蔽だが。
>871
iniでerror_reportingとdisplay_errorsいじって対処しろ。
0875nobodyさん
2009/06/17(水) 15:29:26ID:???0877nobodyさん
2009/06/20(土) 06:33:31ID:???0878nobodyさん
2009/06/20(土) 08:04:06ID:???0879nobodyさん
2009/06/20(土) 08:09:53ID:???0880nobodyさん
2009/06/20(土) 17:52:24ID:75jb74IQ例えば C だと
puts((return_array())[0]);
みたいに出来るけど、HSPでこれっぽいこと試しても出来ないし情報も出てこない。
結局いちいち変数に保存しておかないとだめなのかな?
補完として指定添字の要素を返す関数みたいなもんも無さそうだし。
作るのは簡単だけどそれもモヤっとする。
誰も不便に思ってないのだろうか…?
0881nobodyさん
2009/06/20(土) 18:01:51ID:???0882nobodyさん
2009/06/20(土) 18:03:42ID:???HSPスレに毒されてた
0883nobodyさん
2009/06/20(土) 19:11:19ID:???0885nobodyさん
2009/06/20(土) 20:46:15ID:???$array[$key];
0887nobodyさん
2009/06/20(土) 20:57:27ID:zOuXJu5j俺はat($array, $key)って関数を作って使ってる。
配列処理関数にarray_とか付いちゃう言語にあまり期待するなってことだな。
0888nobodyさん
2009/06/20(土) 20:59:51ID:???0889nobodyさん
2009/06/20(土) 21:03:31ID:???zend_hash_find()じゃなくてzend_symtable_find()を使っているので整数キーも正しく扱える。
PHP_FUNCTION(array_indexof)
{
HashTable *arr;
char *key;
int len;
zval **entry;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "hs" &arr, &key, &len) == FAILURE) {
return;
}
if (zend_symtable_find(arr, key, len+1, (void **)&entry) == SUCCESS) {
RETURN_ZVAL(*entry, 1, 0);
}
RETURN_NULL();
}
0890nobodyさん
2009/06/20(土) 21:17:01ID:???0891nobodyさん
2009/06/20(土) 22:27:40ID:???foreach($ary as $v){
var_dump($v);
}
「数字添字の連想配列」と「配列」は似ているようでちょっと違う。
「全てが連想配列」の方が内部処理的にも妥当な評価。
0892nobodyさん
2009/06/20(土) 22:57:15ID:???eval("$".func_return_array()."[key]")
とかかなぁ
独自の関数用意すんのもその関数理解するためのワンステップがアレな気がするしな
値がほしいだけならlist()で受け取るって手もあるけど
0893nobodyさん
2009/06/21(日) 00:07:17ID:DAfvo/AXえ?
0894nobodyさん
2009/06/21(日) 00:10:20ID:???0895nobodyさん
2009/06/21(日) 02:28:32ID:???はい…
思う存分叩いてください反省してきます
0896nobodyさん
2009/06/21(日) 05:33:00ID:???0897nobodyさん
2009/06/21(日) 11:53:12ID:???0898nobodyさん
2009/06/21(日) 12:21:00ID:DAfvo/AXこういう書き方がしたいわけですね。
0899nobodyさん
2009/06/21(日) 13:14:59ID:???0900nobodyさん
2009/06/21(日) 13:27:56ID:???0901nobodyさん
2009/06/21(日) 20:55:11ID:???配列作るときのarrayとか書くのも結構めんどい
0902nobodyさん
2009/06/22(月) 00:35:16ID:???0903nobodyさん
2009/06/22(月) 00:49:49ID:2UIy9ouO個人で借りてるサーバは
$php --version
PHP 5.1.6 (cli) (built: Apr 7 2009 08:00:04)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
だ。
0904nobodyさん
2009/06/22(月) 03:56:57ID:???0905nobodyさん
2009/06/22(月) 09:54:55ID:???0906nobodyさん
2009/06/22(月) 10:29:15ID:???この前のメンテで上げてるなあぁ
0907nobodyさん
2009/06/22(月) 15:11:18ID:???concreat5を試そうと思ったら、php5を要求されたから、
そろそろ移行時期かなとおもい、皆はどうなのかと思い確認させてもらいました。
0908nobodyさん
2009/06/22(月) 16:15:26ID:???にあるコードを使って
同じ内容のメールを返させるのとファイルに保存するようなのを書き足したPHPファイルをつくったんですけど
メールが返ってくるところまではうまくいったんですけど
ファイルに保存がうまくいきません
mail($mail_address,,$diary_subject,$diary_body);
write("dat/test.dat",array($diary_subject,$diary_body));
------------------------------------------------
function write($filename, $input)
{
$input=serialize($input);
$fp=fopen($filename,"w");
flock($fp, LOCK_EX);
fputs($fp, $input);
flock($fp, LOCK_UN);
fclose($fp);
}
ちゃんとdatはchmod 733してあります。
何が原因になりそうでしょうか?
0909nobodyさん
2009/06/22(月) 16:41:28ID:???0910nobodyさん
2009/06/22(月) 16:47:18ID:???0911nobodyさん
2009/06/22(月) 23:26:19ID:???0912nobodyさん
2009/06/23(火) 04:22:25ID:???0913nobodyさん
2009/06/30(火) 11:32:05ID:???なにかそういう系のいいサンプルって知りませんか?
全角、半角スペースをパターンに文字列を分割、
でもダブルクォーテーションでかこわれた部分は分割せず…
とかいろいろやってたら、正規表現を使った処理が意外とだらだらと長くなってしまうんです。
0914nobodyさん
2009/06/30(火) 12:31:49ID:???str_replace(' ', ' ', $input);
$keywords = str_getcsv($input, ' ');
0915nobodyさん
2009/06/30(火) 12:33:32ID:???$input = str_replace(' ', ' ', $input);
ね。
思いつきだから正しく動くかはしらん。
0916nobodyさん
2009/06/30(火) 12:48:46ID:???ereg_replace が安全
0917nobodyさん
2009/06/30(火) 13:50:22ID:???$input = 'ワード1 "ワ ー ド 2" ワード3';
↓
[0] -> ワード1
[2] -> ワ ー ド 2
[3] -> ワード3
このように分割したいのですが、preg_matchとか使ってむりやり分割する方法しか思いつかず、
どんなやりかたが王道なのかわからずに困っています。
0918nobodyさん
2009/06/30(火) 14:38:55ID:???var_export(explode('"', $input));
0919nobodyさん
2009/06/30(火) 14:49:40ID:???0921nobodyさん
2009/06/30(火) 22:09:35ID:???http://search.cpan.org/~chorny/Text-ParseWords-3.27/ParseWords.pm
PHPで探してないんだったら、上のを参考にして自分でパーサーを書くしかないんでは。
0922nobodyさん
2009/06/30(火) 22:15:51ID:ToOf0Y/8<?php
$number = 100;
echo "<p>変数の値は $number です";
echo '<p>変数名は $number です';
?>
変数の値は や 変数名は ってやつがうまく表示してもらえないのだが
なぜですか??
0923nobodyさん
2009/06/30(火) 22:19:02ID:???どういう結果が欲しくて、実際どうなってるのか教えてくれ
0924nobodyさん
2009/06/30(火) 22:24:36ID:ToOf0Y/8echo "<p>変数の値は $number です";
これが『変数の値は100です』
となってほしくて
echo '<p>変数名は $number です';
こっちが『変数名は$numberです』
となってほしいのです。
でも表示結果は
?????l??@100 ??
????? $number ??
こんな感じですね
0926nobodyさん
2009/06/30(火) 22:28:40ID:???まず、ブラウザのエンコード(文字コード)の設定で文書のとあわせてみようね
それから、htmlで
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
みたいなの書こう
0927nobodyさん
2009/06/30(火) 22:28:50ID:ToOf0Y/8ブラウザがGoogleChromeなのですが
文字コードはどうやって変更したらいいでしょう?
0928nobodyさん
2009/06/30(火) 22:29:20ID:???それから
echo "<p>変数の値は $number です";
は
echo "<p>変数の値は {$number} です";
って書くと変数名が確実に処理される。
0929nobodyさん
2009/06/30(火) 22:36:38ID:ToOf0Y/8エンコードでSHIFT JISってやつに変えてみたら
上手く表示されました><
ありがとうございました・ω・
あとこの<p>というのはどういった意味があるのでしょうか?
0931nobodyさん
2009/06/30(火) 23:30:55ID:???ブラウザがまずWebサイトにアクセスする。
んで、どのコードで表示するかってのは、
HTMLのヘッダにあるMETAタグで読むんだ。
だから、PHPで出力するHTMLの最初の方
に、まず文字コード設定のMETAタグを書
いておこう。
通常、PHPで出力される文字コードは、PHP
のコードが書かれているファイルと同じ文字
コードになるよ。
Shift-JISでコードを書いてるなら、Shift-JIS
の文字コード宣言のMETAタグを出力するよ
うにしておいたほうがいい。じゃないと、いまの
ブラウザで普通に表示されていても、見れな
い環境も出てくると思うから。
0932nobodyさん
2009/07/01(水) 00:06:52ID:???Webで使うつもりだろうし、まずはHTMLとかXHTML、できればStylesheetも
それに、WebクライアントやWebサーバの仕組み、文字コードの扱いなんかを
一通りは触っておかないと理解していないと
PHPを覚えてもあまり意味がない気はするぽん
階段を上るように、段階を分けて勉強していくといいと思うお
1. CGIなどが扱えないようなレンタルサーバでも公開可能な
(静的な)ウェブサイトの作成方法を理解する
2. ローカルにウェブサーバを設置し、サーバの設定方法や
サーバの仕組み、クライアントの仕組みなんかを理解する
3. 動的に生成されるサイトを作成してみる
みたいなカンジ
0933nobodyさん
2009/07/01(水) 01:00:53ID:gWTAL2bRなるほどです。。。
自分でも少しずついろいろと調べてみてがんばって行こうと思います
まずはHTMLから始めるといった形が理想なのでしょうか?
0934nobodyさん
2009/07/01(水) 01:02:04ID:???0935nobodyさん
2009/07/01(水) 03:45:08ID:???そうだね
まずは静的HTML
文字コードの話も普通はそこでぶちあたる壁
絶対リンクと相対リンクとか。
そしてスタイルシートCSSね
そんでようやくPHPだね
0937nobodyさん
2009/07/01(水) 07:32:06ID:???まずHTMLを1ヶ月じっくりと勉強
するところからはじめるべき。
レス数が900を超えています。1000を超えると表示できなくなるよ。