小编emp*_*eap的帖子

PHP 中 strlen() 函数的源代码在哪里?

我正在浏览php-src/Zend/zend_API.c,但在任何地方都找不到PHP 中该函数的源代码strlen()。搜索代码库并没有真正的帮助,因为到处都是 libc strlen。谷歌搜索也没有太大帮助。

我尝试使用Vulcan Logic Dumper扩展来检查引擎盖下发生的事情。

我尝试了以下代码作为测试:

<?php

strlen("foo"); strpos("foo", "f");
Run Code Online (Sandbox Code Playgroud)

这是我得到的:

寻找切入点
来自位置的分支分析:0
发现 1 次跳跃。(代码 = 62)位置 1 = -2
文件名:/tmp/test.php
函数名:(空)
操作数:7
编译变量:无
行 #* EIO op fetch ext 返回操作数
-------------------------------------------------- ---------------------
   3 0 E > 回声 3
   4 1 INIT_FCALL 'strpos'
         2 SEND_VAL '富'
         3 SEND_VAL 'o'
         4 DO_CALL $0      
         5 回声 $0
         6 > 返回 1

注意如何strpos()显示为函数调用,而不是strlen(). 所以我尝试了这个(顺便说一下,这是在 PHP 7.4 上 …

php strlen php-internals

4
推荐指数
1
解决办法
509
查看次数

标签 统计

php ×1

php-internals ×1

strlen ×1