問題タブ [php-internals]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
5898 参照

php - PHP属性で関数が許可されないのはなぜですか?

私はPHPにかなり慣れていませんが、何年も同じような言語でプログラミングを行っています。私は次のことに困惑しました:

構文エラーが発生しました:Parse error: syntax error, unexpected '(', expecting ')' in test.php on line 5これがrealpath呼び出しです。

しかし、これは正常に機能します。

しばらくこれに頭をぶつけた後、属性のデフォルトで関数を呼び出すことはできないと言われました。あなたはでそれをしなければなりません__construct。私の質問は:なぜですか?!これは「機能」ですか、それともずさんな実装ですか?理論的根拠は何ですか?

0 投票する
6 に答える
3584 参照

php - PHPのパフォーマンス:コピーとリファレンス

ちょっと、そこ。今日、私は変数のコピーと変数への参照の作成のパフォーマンスを比較するための小さなベンチマークスクリプトを作成しました。たとえば、大きな配列への参照の作成は、配列全体をコピーするよりも大幅に遅くなると予想していました。これが私のベンチマークコードです:

私が得た実際の結果は、recursiveReferenceがrecursiveCopyの約20倍(!)かかったということでした。

誰かがこのPHPの動作を説明できますか?

0 投票する
8 に答える
2374 参照

php - メモリ参照を使用してPHP配列を比較する

2つの配列変数が同じメモリ位置を指しているかどうかを確認することは可能ですか?(それらは同じ配列です)

0 投票する
3 に答える
1976 参照

php - strlen() を使用しない場合の PHP 文字列の長さ

PHPコーディング標準の最新リリースをブラウズしているだけで、何かが私の目を引きました:

http://svn.php.net/viewvc/php/php-src/trunk/CODING_STANDARDS?revision=296679&view=markup

コーディング標準 #4 では、「文字列を処理する関数を作成するときは、PHP が各文字列の長さプロパティを保持していること、および strlen() で計算されるべきではないことを覚えておいてください...」と述べています。

私は常に strlen を使用してきましたが、単に遅いだけかもしれませんが、PHP で組み込みの文字列の長さプロパティにアクセスするにはどうすればよいでしょうか?

0 投票する
4 に答える
733 参照

php - Cコードの3行を理解するには?

特に何をしているのZEND_NUM_ARGS() TSRMLS_CC

0 投票する
4 に答える
186 参照

php - PHPソースコードに精通している人はいますか?

ここは何"ss"ですか?

0 投票する
2 に答える
496 参照

php - このようなハッシュ アルゴリズムを使用する PHP 関数はどれですか?

0 投票する
1 に答える
622 参照

php - EasyPHP フォルダに Zend ディレクトリが見つかりません

C での php 拡張機能の作成に関するチュートリアルを読んでいます。Visual Studio 2008 と EasyPHP を使用しており、そのディレクトリには /ext フォルダー (PHP 拡張機能ディレクトリ) が含まれています。

これはチュートリアルです: http://www.devarticles.com/c/a/Cplusplus/Developing-Custom-PHP-Extensions-Part-1/2/

ステップ 4 で問題が発生しました。

Blockquote 4. プリプロセッサ カテゴリで、次の「追加のインクルード ディレクトリ」を追加します: ....、....\main、....\Zend、....\TSRM、....\bindlib_w32。

easyphp forlder の main 、 zend 、 tsrm 、および bindlib_w32 ディレクトリを検索しましたが、見つかりませんでした。

EasyPHP に zend ディレクトリが含まれていない場合。正しいディレクトリにデプロイするにはどうすればよいですか?

事前にありがとう

0 投票する
4 に答える
6504 参照

php - PHPの内部についてどこで学ぶことができますか?

PHPとZendEngineの内部を学び始めるための良いリソースは何ですか?

0 投票する
1 に答える
250 参照

php - 空の op_array を作成するにはどうすればよいですか?

PHP 拡張機能で、オペコードを含まない op_array を作成するにはどうすればよいですか?