user-0 提问: PHP的扩展回调PHP中的函数多参数的问题

回复:
user: user-1
content: 学会使用grep（linux）和findstr（windows）命令

user: user-2
content: array 你用操作系统的搜索功能，就不必一个个打开了

user: user-0
content: 引用 13 楼 xuzuning 的回复:在你的机器中搜索一下不就有了 不要说你没有 php 源码， php的源代码还真多，那个函数在哪个文件 哪个模块下呢

user: user-0
content: 引用 9 楼 xuzuning 的回复:你不是写扩展码？ 那你就只看教程，不看现场? usort 是php 的 用户自定义排序函数，你在 php 源码中去找他的实现方法，不是比你看教程实际的多吗  可是我不知道usort  源码在哪里，  引用 13 楼 xuzuning 的回复:在你的机器中搜索一下不就有了 不要说你没有 php 源码， 我机器上有刚好最近编译安装。但是没有也正常呀，我不是高PHP的，而是最近需要给别人做个PHP的扩展包住我们的lib'库而已

user: user-0
content: 引用 20楼xuzuning 的回复:你们用快捷安装的 php 是没有源码的，应到 php 官网去下载 写扩展没有源码包是不行的，编译不了我有源码，可是我找不到那个函数，能告诉我怎么找吗

user: user-2
content: 你们用快捷安装的 php 是没有源码的，应到 php 官网去下载 写扩展没有源码包是不行的，编译不了

user: user-0
content: 引用 16 楼 xuzuning 的回复:array 你用操作系统的搜索功能，就不必一个个打开了 我在php-7.2.0\ext\standard\tests\array 文件夹里面看到 一堆.phpt 和几个不是想要的.c文件，没有看到我想要的

user: user-0
content: 引用 17 楼 zhao4zhong1 的回复:学会使用grep（linux）和findstr（windows）命令  系统下可以查文档里面的某字符（不是文件名）？ 比如：usort

user: user-2
content: 看源码，usort 的回调就是两个参数的

user: user-0
content: 引用 1 楼 user-3 的回复:是否可将参数变为数组形式，数组里面存放各个参数php里面的吗？ 我试过$args=array(110,120,"hello",15); 单这样做不行，应该扩展中call_function的源码需要做相应的修改吧

user: user-3
content: 是否可将参数变为数组形式，数组里面存放各个参数

user: user-2
content: 在你的机器中搜索一下不就有了 不要说你没有 php 源码，

user: user-0
content: 引用 9 楼 xuzuning 的回复:你不是写扩展码？ 那你就只看教程，不看现场? usort 是php 的 用户自定义排序函数，你在 php 源码中去找他的实现方法，不是比你看教程实际的多吗  可是我不知道usort  源码在哪里，我不是做PHP的 我只是这几天需要做这个事情，顺便看了下

user: user-0
content: 引用 9 楼 xuzuning 的回复:你不是写扩展码？ 那你就只看教程，不看现场? usort 是php 的 用户自定义排序函数，你在 php 源码中去找他的实现方法，不是比你看教程实际的多吗  可是我不知道usort  源码在哪里，我不是做PHP的 我只是这几天需要做这个事情，顺便看了下

user: user-0
content: 引用 9 楼 xuzuning 的回复:你不是写扩展码？ 那你就只看教程，不看现场? usort 是php 的 用户自定义排序函数，你在 php 源码中去找他的实现方法，不是比你看教程实际的多吗  可是我不知道usort  源码在哪里，我不是做PHP的 我只是这几天需要做这个事情，顺便看了下

user: user-2
content: 你不是写扩展码？ 那你就只看教程，不看现场? usort 是php 的 用户自定义排序函数，你在 php 源码中去找他的实现方法，不是比你看教程实际的多吗

user: user-2
content: 你不是写扩展码？ 那你就只看教程，不看现场? usort 是php 的 用户自定义排序函数，你在 php 源码中去找他的实现方法，不是比你看教程实际的多吗

user: user-2
content: 你不是写扩展码？ 那你就只看教程，不看现场? usort 是php 的 用户自定义排序函数，你在 php 源码中去找他的实现方法，不是比你看教程实际的多吗

user: user-0
content: 引用 5 楼 bandaoyu 的回复:发现了一些线索，希望有人能比我早研究出来：  http://blog.csdn.net/zhyl8157121/article/details/53032997     应该是第二个参数这里控制后面的参数个数和参数类型："ss"，"s|s"     参数  对应C里的数据类型  b   zend_bool  l   long  d   double  s   char*, int 前者接收指针，后者接收长度  r   zval*  a   zval*  o   zval*  O   zval*, zend_class_entry*  z   zval*  Z   zval**  http://blog.csdn.net/leonpengweicn/article/details/12946993?%3E  补充资料：https://my.oschina.net/jackin/blog/172926 ZEND_API int call_user_function_ex(     HashTable *function_table,     zval **object_pp,     zval *function_name,     zval **retval_ptr_ptr,     zend_uint param_count,     zval **params[],     int no_seperation,     HashTable *symbol_table TSRMLS_DC); params is an array of pointers to zval pointers. Note: this is _not_ a PHP/zval array, it is a C array. Example:  zval *foo; zval *bar; zval **params[2]; params[0] = &foo; params[1] = bar;

user: user-0
content: 发现了一些线索，希望有人能比我早研究出来：  http://blog.csdn.net/zhyl8157121/article/details/53032997     应该是第二个参数这里控制后面的参数个数和参数类型："ss"，"s|s"     参数  对应C里的数据类型  b   zend_bool  l   long  d   double  s   char*, int 前者接收指针，后者接收长度  r   zval*  a   zval*  o   zval*  O   zval*, zend_class_entry*  z   zval*  Z   zval**  http://blog.csdn.net/leonpengweicn/article/details/12946993?%3E