3

我试过的

我已经阅读了以下 PHP 扩展教程:http://devzone.zend.com/303/extension-writing-part-i-introduction-to-php-and-zend/ http://php.webtutor.pl /en/2011/07/07/how-to-create-php-extensions-in-c-part-i-adding-simple-function/所有这些都是添加新功能的绝佳资源。

我创建了一些添加简单功能的简单扩展。主要是hello_world()类型扩展。我已经尝试浏览源代码和所有内容,但似乎找不到我需要的东西。

我需要的

我需要帮助或关于如何更改 php 功能的正确方向。我正在尝试扩展 a 的语法foreach。这更像是一个学习机会,然后我认为更改 a 的语法foreach是个好主意。

1) 如何foreach在当前 PHP 源代码中找到当前的实现?2)我如何编写和扩展来改变它?

最终目标

每次我写一个数组时,我想要一组唯一的数字,而不是将数字放入值中并进行数组搜索,我将它们放入键中并将值设置为true. 当我这样做时,foreach我不在乎钥匙。所以我想创建以下语法:

foreach ($myArray as $key => ) {
    // Do stuff here    
}

任何帮助将不胜感激。谢谢!

4

1 回答 1

2

您不能使用扩展来更改 PHP 的核心行为。如果要更改foreach循环,则需要更改 PHP 的核心组件并重新编译它。由你决定你必须改变什么。(这就是乐趣)

但是,您可以这样做:

foreach (array_keys($myArray) as $key) {
    // Do stuff here    
}
于 2013-11-13T15:15:38.507 回答