在http://windows.php.net/downloads中,我找不到任何可供下载的x64.此外,我必须在"线程安全"和"非线程安全"中进行选择,无需解释一个是否比另一个更安全或者性能更好.可供使用的ZIP下载中的install.txt似乎已经过时了,它没有提及任何相关内容.
在http://php.net/manual/pl/install.windows.iis7.php中他们也没有说出一个字......
另一个疑问是,一旦我知道要下载什么(以及为什么),它应该设置为FastCGI模块还是ISAPI扩展?
有没有办法让这段代码在没有警告的情况下工作?
function myFunction($value, $key, &$array)
{
if (strlen($value)<=2) $array[] = $key.$value;
}
$a = array("aa", "bbb", "cc", "dd");
$resultA = array();
array_walk($a, 'myFunction', &$resultA);
// now '$resultA' should contain: Array([0] => aa0 [1] => cc2 [2] => dd3)
Run Code Online (Sandbox Code Playgroud)
它工作,但它总是抛出此警告消息:
警告:第7行的path_to\index.php中不推荐使用call-time pass-by-reference
我认为从调用中删除&符应该足以使警告消失,但是,奇怪的是,如果我在"myFunction"中指定&,则"array_walk"不会形成第三个参数.为了使它工作,必须有一个&在电话中,但它会触发警告.
此外,作为一个临时解决方法,我试图将php.ini var"allow_call_time_pass_reference"设置为true,但我仍然收到警告......
我想知道可能有更好/首选的方法将用户定义的函数应用于带有传递引用参数的数组的每个元素.