私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ【PHP】下らねぇ質問はID出して書き込みやがれ 113
php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
自分では解決できないったってサーバーの公式サイトも確認してないんじゃ話しにならんな。
関数ってある程度覚えてます?
つづりとか、引数に何入れるのかとか
全然覚えれなくて、
いちいち関数辞書やマニュアルを
参照してしまいます。
つづりとか、引数に何入れるのかとか
全然覚えれなくて、
いちいち関数辞書やマニュアルを
参照してしまいます。
>>704
そんなくだらんこと気にしてる暇があったら勉強すれ
そんなくだらんこと気にしてる暇があったら勉強すれ
こんなのあったなってレベルでいいから関数は一応網羅しておいたほうがいいな
なんとなく期待通りに動かせて覚えた気になってるのが一番マズイ
10行書いて実現してたものが1行で済む事が多々ある
なんとなく期待通りに動かせて覚えた気になってるのが一番マズイ
10行書いて実現してたものが1行で済む事が多々ある
>>709
頭悪そう…
頭悪そう…
>>712
ブラウザによっては
header('Location: mailto:hoge@example.com');
header('Refresh: 0;http://google.com';);
でできる。
素直に<a href="mailto:とかJavaScriptでやった方がいい。
ブラウザによっては
header('Location: mailto:hoge@example.com');
header('Refresh: 0;http://google.com';);
でできる。
素直に<a href="mailto:とかJavaScriptでやった方がいい。
シリアライズって、テキストで記録してるから効率わるいよな。
速度も容量も。
速度も容量も。
>>713
そうですか… ありがとうございました
そうですか… ありがとうございました
キョウビそもそもメーラーを開かせるのがナンセンス
ウェブメールだけでメーラーの設定すらしてない人はいっぱいいるぞ
ウェブメールだけでメーラーの設定すらしてない人はいっぱいいるぞ
バイナリシリアライズつかってみた。速度的には標準と大差ない。あえてつかうメリットはなさげ。
php-msgpack
http://code.google.com/p/php-msgpack/
<?php
$serializefnc = array( array( "msgpack_pack", "msgpack_unpack"), array( "serialize", "unserialize") );
$data = array( "url"=>"http://www.google.co.jp/", "msg"=>"Google検索エンジン", "num"=>10 );
$kaisu = 500000;
foreach ( $serializefnc as $fnc ) {
echo "$fnc[0] ";
$t = microtime(true);
for($n=0; $n<$kaisu; $n++) $pack = $fnc[0]($data);
$t=microtime(true) - $t; printf("pack:%.3fsec. ",$t);
$t = microtime(true);
for($n=0; $n<$kaisu; $n++) $unpack = $fnc[1]($pack);
$t=microtime(true) - $t; printf("pack:%.3fsec.\n",$t);
if($data != $unpack) echo "decode err\n";
}
php-msgpack
http://code.google.com/p/php-msgpack/
<?php
$serializefnc = array( array( "msgpack_pack", "msgpack_unpack"), array( "serialize", "unserialize") );
$data = array( "url"=>"http://www.google.co.jp/", "msg"=>"Google検索エンジン", "num"=>10 );
$kaisu = 500000;
foreach ( $serializefnc as $fnc ) {
echo "$fnc[0] ";
$t = microtime(true);
for($n=0; $n<$kaisu; $n++) $pack = $fnc[0]($data);
$t=microtime(true) - $t; printf("pack:%.3fsec. ",$t);
$t = microtime(true);
for($n=0; $n<$kaisu; $n++) $unpack = $fnc[1]($pack);
$t=microtime(true) - $t; printf("pack:%.3fsec.\n",$t);
if($data != $unpack) echo "decode err\n";
}
コピーだけの関数と比較しても大差でない。もとからserialize、unserializeが速いようだ。
<?php
$kaisu = 1000000;
$serializefnc = array(
array( "copyfnc", "copyfnc"),
array( "msgpack_pack", "msgpack_unpack"),
array( "serialize", "unserialize") );
$data = array( "url"=>"http://www.google.co.jp/", "msg"=>"Google検索エンジン", "num"=>10 );
foreach ( $serializefnc as $fnc ) {
echo "$fnc[0] ";
$t = microtime(true);
for($n=0; $n<$kaisu; $n++) $pack = $fnc[0]($data);
$t=microtime(true) - $t; printf("pack:%.3fsec. ",$t);
$t = microtime(true);
for($n=0; $n<$kaisu; $n++) $unpack = $fnc[1]($pack);
$t=microtime(true) - $t; printf("unpack:%.3fsec.\n",$t);
if($data != $unpack) echo "decode err\n";
}
function copyfnc(&$data) {return $data;}
?>
<?php
$kaisu = 1000000;
$serializefnc = array(
array( "copyfnc", "copyfnc"),
array( "msgpack_pack", "msgpack_unpack"),
array( "serialize", "unserialize") );
$data = array( "url"=>"http://www.google.co.jp/", "msg"=>"Google検索エンジン", "num"=>10 );
foreach ( $serializefnc as $fnc ) {
echo "$fnc[0] ";
$t = microtime(true);
for($n=0; $n<$kaisu; $n++) $pack = $fnc[0]($data);
$t=microtime(true) - $t; printf("pack:%.3fsec. ",$t);
$t = microtime(true);
for($n=0; $n<$kaisu; $n++) $unpack = $fnc[1]($pack);
$t=microtime(true) - $t; printf("unpack:%.3fsec.\n",$t);
if($data != $unpack) echo "decode err\n";
}
function copyfnc(&$data) {return $data;}
?>
>>720
コピーが2度発生するだろ。引数は参照でもコピーできる。
<?php
$b = "bbb";
$a = copyfnc0($b);
echo "a=$a b=$b\n";
$a = copyfnc1($b);
echo "a=$a b=$b\n";
$a = "aaa";
echo "a=$a b=$b\n";
return;
function copyfnc0($x) { return $x; }
function copyfnc1(&$x) { return $x; }
?>
コピーが2度発生するだろ。引数は参照でもコピーできる。
<?php
$b = "bbb";
$a = copyfnc0($b);
echo "a=$a b=$b\n";
$a = copyfnc1($b);
echo "a=$a b=$b\n";
$a = "aaa";
echo "a=$a b=$b\n";
return;
function copyfnc0($x) { return $x; }
function copyfnc1(&$x) { return $x; }
?>
ものすごく些細なことだけど文字列はシングルクォートで囲ったほうが効率的にいいんじゃね
ダブルクォートだと変数展開するような余計な動作が加わるわけで
ベンチマークしたことないから差が出るかわからんけど
だだし'hoge' . "\n"とかはソース的にアレなので"hoge\n"でいいと思う
ダブルクォートだと変数展開するような余計な動作が加わるわけで
ベンチマークしたことないから差が出るかわからんけど
だだし'hoge' . "\n"とかはソース的にアレなので"hoge\n"でいいと思う
>>714
何を言わんとしているのかおれにもわからんけどserializeはなんらかの事情で文字列としてデータを扱いたい時に使うものだろ
例えば、ウェブサイトのトップページは1日1回の更新だからアクセスの都度DBに問い合わせるのは効率が悪い
なのでDBから取得したデータは暫くファイルにキャッシュしておこうとか、そういう場面
結果として相当効率が良い
つまり使い方次第
何を言わんとしているのかおれにもわからんけどserializeはなんらかの事情で文字列としてデータを扱いたい時に使うものだろ
例えば、ウェブサイトのトップページは1日1回の更新だからアクセスの都度DBに問い合わせるのは効率が悪い
なのでDBから取得したデータは暫くファイルにキャッシュしておこうとか、そういう場面
結果として相当効率が良い
つまり使い方次第
現在のWebアプリケーションシステムではデータ通信にはXMLベースのデータを採用することが多い。
時代の趨勢としてXMLをデータ通信の基本フォーマットとして採用する流れにある。
しかしながら、バイナリフォーマットにもまた利点がある。
たとえばXMLベースのデータとバイナリフォーマットベースのデータを比較した場合、数値情報の表現に差が表れる。
XMLベースフォーマットでは数値を文字列として表現するが、バイナリフォーマットであればビットサイズのまま表現できる。
XMLベースではデータのみならずその構造も表現するため、データ以上にサイズが大きくなる傾向にある。
つまり、総合的に見てバイナリフォーマットベースの方が通信に必要になるデータ量を抑えることができる可能性がある。
すべての問題を解決できるわけではないが、JSONをベースにしてさらにバイナリデータを組み込み、
データ量の削除を狙うという発想のもと取り組まれたプロジェクトがBinary JSON、すなわち"BISON"だ。
JavaScriptやPHPを使って同コンセプトが実装できるかどうかというチャレンジという意味合いも持っている。
【レポート】バイナリフォーマット"BISON" - 概念実証が発表に | エンタープライズ | マイナビニュース
http://news.mynavi.jp/articles/2007/02/20/bison/index.html
時代の趨勢としてXMLをデータ通信の基本フォーマットとして採用する流れにある。
しかしながら、バイナリフォーマットにもまた利点がある。
たとえばXMLベースのデータとバイナリフォーマットベースのデータを比較した場合、数値情報の表現に差が表れる。
XMLベースフォーマットでは数値を文字列として表現するが、バイナリフォーマットであればビットサイズのまま表現できる。
XMLベースではデータのみならずその構造も表現するため、データ以上にサイズが大きくなる傾向にある。
つまり、総合的に見てバイナリフォーマットベースの方が通信に必要になるデータ量を抑えることができる可能性がある。
すべての問題を解決できるわけではないが、JSONをベースにしてさらにバイナリデータを組み込み、
データ量の削除を狙うという発想のもと取り組まれたプロジェクトがBinary JSON、すなわち"BISON"だ。
JavaScriptやPHPを使って同コンセプトが実装できるかどうかというチャレンジという意味合いも持っている。
【レポート】バイナリフォーマット"BISON" - 概念実証が発表に | エンタープライズ | マイナビニュース
http://news.mynavi.jp/articles/2007/02/20/bison/index.html
>>722
いま思いつくかぎりの書き方
echo "hoge\n"; // 普通
$br = "\n";
echo 'hoge' . $br; // 変数に入れちゃう
echo "hoge${br}"; // 変数に入れる意味ないな
echo 'hoge' . PHP_EOL; // こんなのもある
echo 'hoge
'; // ちゃんと改行されるよ
いま思いつくかぎりの書き方
echo "hoge\n"; // 普通
$br = "\n";
echo 'hoge' . $br; // 変数に入れちゃう
echo "hoge${br}"; // 変数に入れる意味ないな
echo 'hoge' . PHP_EOL; // こんなのもある
echo 'hoge
'; // ちゃんと改行されるよ
>>714
効率の問題じゃない受け渡しの容易さの問題
効率の問題じゃない受け渡しの容易さの問題
WebアプリってぶっさいくなUIしか使えないんでしょうか?
初心者ですがよくわからなくて。
初心者ですがよくわからなくて。
>>731
日本語で
日本語で
エスケープって意味ならプレースホルダでおk
サニタイズって言うとアプリにもよるだろうし範囲が明確じゃないからなんとも言えない
サニタイズって言うとアプリにもよるだろうし範囲が明確じゃないからなんとも言えない
クリスマスに一緒に過ごす女がいないのは
オレがphpを極めていないからなんですか?
オレがphpを極めていないからなんですか?
いいえ、イケメンでなくなおかつお金がないからです。
さあ、これをphpで表してみろ
さあ、これをphpで表してみろ
>>721
ほんとに2度発生する?
ほんとに2度発生する?
>>721
serializeは二度発生せんのか?
serializeは二度発生せんのか?
バージョンよっては勝手に参照に変更してたりするし。
しかし明示的に参照の引数にしたって良いだろ。
serializeの定義は値渡しだろうけど、これも配列やクラスなどくると参照かもしれない。
しかし明示的に参照の引数にしたって良いだろ。
serializeの定義は値渡しだろうけど、これも配列やクラスなどくると参照かもしれない。
>>741
日本語でおk
日本語でおk
>>741じゃないけど、それ完全にコピーじゃん
参照するわけないし
参照するわけないし
>>745
なぜ聞く前に試さない
$ php -r "abstract class A { final abstract public function x(); }"
PHP Fatal error: Cannot use the final modifier on an abstract class member in Command line code on line 1
なぜ聞く前に試さない
$ php -r "abstract class A { final abstract public function x(); }"
PHP Fatal error: Cannot use the final modifier on an abstract class member in Command line code on line 1
>>745
すみません、自分では試してfinalとabstractを
いっしょに定義することは詰んでしまうので無意味なことのように思ったのですが、
もしかすると自分には分からなかっただけで
何か使い道があるのかと思って質問させていただきました
すみません、自分では試してfinalとabstractを
いっしょに定義することは詰んでしまうので無意味なことのように思ったのですが、
もしかすると自分には分からなかっただけで
何か使い道があるのかと思って質問させていただきました
>>746さん宛てでした
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- 【PHP】下らねぇ質問はID出して書き込みやがれ 119 (1001) - [98%] - 2012/6/21 11:46
- 【PHP】下らねぇ質問はID出して書き込みやがれ 110 (1001) - [98%] - 2011/9/29 22:31
- 【PHP】下らねぇ質問はID出して書き込みやがれ 118 (1001) - [98%] - 2012/5/18 6:01
- 【PHP】下らねぇ質問はID出して書き込みやがれ 117 (1001) - [98%] - 2012/4/23 19:01
- 【PHP】下らねぇ質問はID出して書き込みやがれ 116 (1001) - [98%] - 2012/3/21 18:01
- 【PHP】下らねぇ質問はID出して書き込みやがれ 115 (1001) - [98%] - 2012/2/25 18:31
- 【PHP】下らねぇ質問はID出して書き込みやがれ 103 (1001) - [98%] - 2011/2/14 19:50
- 【PHP】下らねぇ質問はID出して書き込みやがれ 133 (1001) - [98%] - 2014/7/8 16:30
- 【PHP】下らねぇ質問はID出して書き込みやがれ 114 (1001) - [98%] - 2012/1/19 12:30
- 【PHP】下らねぇ質問はID出して書き込みやがれ 112 (1001) - [98%] - 2011/11/29 4:02
- 【PHP】下らねぇ質問はID出して書き込みやがれ 123 (1001) - [98%] - 2012/11/20 5:30
- 【PHP】下らねぇ質問はID出して書き込みやがれ 111 (1001) - [98%] - 2011/10/30 20:31
- 【PHP】下らねぇ質問はID出して書き込みやがれ 136 (936) - [96%] - 2014/9/18 12:45
- 【PHP】下らねぇ質問はID出して書き込みやがれ 134 (1002) - [96%] - 2014/7/29 4:15
- 【PHP】下らねぇ質問はID出して書き込みやがれ 135 (984) - [96%] - 2014/8/7 1:00
- 【PHP】下らねぇ質問はID出して書き込みやがれ 120 (1001) - [96%] - 2012/7/25 6:45
- 【PHP】下らねぇ質問はID出して書き込みやがれ 137 (995) - [96%] - 2023/1/30 18:45
トップメニューへ / →のくす牧場書庫について