我尝试过什么
我已经阅读了以下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功能。我正在尝试扩展foreach
的语法。这更像是一个学习机会,我认为更改foreach
的语法是一个好主意。
1)如何在当前的PHP源代码中找到foreach
的当前实现?
2)如何编写和扩展来更改它?
最终目标
每次我编写一个数组,我想要一组唯一的数字而不是将数字放在值中并进行数组搜索时,我将它们放在键中并将值设置为true
。当我做foreach
时我不关心钥匙。所以我想创建以下语法:
foreach ($myArray as $key => ) {
// Do stuff here
}
非常感谢任何帮助。谢谢!
答案 0 :(得分:2)
您无法使用扩展程序更改PHP的核心行为。如果要更改foreach
循环,则需要更改PHP的核心组件并重新编译它。由您来决定您需要改变的内容。 (那很有趣)
但是你可能只是这样做:
foreach (array_keys($myArray) as $key) {
// Do stuff here
}