PHP の strlen 関数について簡単に説明します。
strlen 関数の説明。
int strlen (string $string)
この記事では、strlen 関数が Zend Engine を通じて定義されていることがわかります。関数の定義はここで確認できます。
関数のソース コードもここに示されています:
ZEND_FUNCTION(strlen) { char *s1; int s1_len; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &s1, &s1_len) == FAILURE) { return; } RETVAL_LONG(s1_len); }
この記事では、この関数は非常に単純で、これ以上の説明は必要ないと述べています。この記事では、zend_parse_parameters 関数についても紹介します。作者はバカなので、zend_parse_parameters関数がどのように可変長を返すのかを理解したいと思っています。
パラメータが解析される zend_parse_arg_impl 関数では、引き続き case 's' ブランチを調べます。この分岐は文字列変数の解析です。
int *pl = va_arg(*va, int *); は文字列長変数の定義です。
さらに下を見ていくと、pl 変数への代入ステートメントが表示されます: *pl = Z_STRLEN_PP(arg);。
Z_STRLEN_PP マクロの定義は、zend_operators.h ファイルにあります:
#define Z_STRLEN_PP(zval_pp) Z_STRLEN(**zval_pp)
Z_STRLEN マクロの定義、#define Z_STRLEN(zval) を見てみましょう。 (zval).value .str.len。このことから、strlen 関数は、zval 構造体の str の len 属性を直接返すことによって実装されていることがわかります。
PHP の strlen 関数に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック







