有没有办法做这样的事情:
$test_array = array("first_key" => "first_value",
"second_key" => "second_value");
var_dump(array_map(function($a, $b) { return "$a loves $b"; },
array_keys($test_array),
array_values($test_array)));
但是,不是调用array_keys
和array_values
,而是直接传递$test_array
变量?
所需的输出是:
array(2) {
[0]=>
string(27) "first_key loves first_value"
[1]=>
string(29) "second_key loves second_value"
}
不适用于array_map,因为它不处理键。
array_walk可以:
$test_array = array("first_key" => "first_value",
"second_key" => "second_value");
array_walk($test_array, function(&$a, $b) { $a = "$b loves $a"; });
var_dump($test_array);
// array(2) {
// ["first_key"]=>
// string(27) "first_key loves first_value"
// ["second_key"]=>
// string(29) "second_key loves second_value"
// }
但是,它确实会更改作为参数给定的数组,因此它不完全是函数式编程(因为您有这样标记的问题)。而且,正如注释中指出的那样,这只会更改数组的值,因此键将不是您在问题中指定的键。
如果需要,您可以编写一个函数来固定自己之上的要点,例如:
function mymapper($arrayparam, $valuecallback) {
$resultarr = array();
foreach ($arrayparam as $key => $value) {
$resultarr[] = $valuecallback($key, $value);
}
return $resultarr;
}
$test_array = array("first_key" => "first_value",
"second_key" => "second_value");
$new_array = mymapper($test_array, function($a, $b) { return "$a loves $b"; });
var_dump($new_array);
// array(2) {
// [0]=>
// string(27) "first_key loves first_value"
// [1]=>
// string(29) "second_key loves second_value"
// }
如果类位于一个文件中,则看起来不会发生严格的错误,如下所示: 但是,如果您将类定义放在单独的文件中并像这样包含它们: 抛出严格标准错误消息: 严格的标准:的声明应与c:\path\to\Cat中的兼容。php在线。。。 如果所有内容都在一个文件中,即使这样也可以: 这是预期的行为吗? 因为< code >肉是< code >食物,所以一开始就不应该有抱怨,对吗?因此,解决方案是简单明了的:将所有内
问题内容: 我无法在我的PHP脚本中包含一个远程PHP文件。我想我的托管更改了php设置。 我使用的代码是: 如何允许使用php.ini / .htaccess启用包含功能? 还有其他解决方法吗? 谢谢。 问题答案: 要允许 包含 远程文件,必须在php.ini中将该指令设置为 但是,从面向安全性的角度来看,这是不好的。因此,通常将其禁用(实际上,我从未见过启用) 它与处理打开(不包括)远程文件的
问题内容: 我有这个小代码,实际上是一个登录脚本,它检查寄存器是否打开,并在登录按钮后显示: 我的问题是这一行: include(“ ../ inc / db.php”); 警告:include(E:/wamp/www//inc/db.php):无法打开流:第3行的E:\ wamp \ www \ proiect1-test \ scripts \ login.php中没有此类文件或目录:incl
问题内容: 这三种方法(都用于将一个数组转换为另一个数组)之间的性能差异(如果有)是什么? 使用 使用和λ/关闭功能 使用带有“静态”函数/方法 还有其他方法吗? 为了使自己清楚,让我们看一下这些示例,它们都做同样的事情-将数字数组乘以10: 佛瑞奇 带有lambda的地图 具有“静态”功能的地图,作为字符串引用传递 还有其他方法吗?我将很高兴听到上面案例之间的 所有 实际差异,以及为什么要使用一
null 还有其他办法吗?我将很高兴听到实际所有的差异之间的情况从上面,以及任何输入为什么应该使用一个而不是其他。
问题内容: 我想用PHP包装CSS文件…因此,我为CSS文件编写了标头,并给了它一个.php文件扩展名,因此… css.php。 如果该页面已被用作包含内容,是否可以使用?还是这个新标题与页面所包含的框架冲突? 问题答案: 加纳夫钉牢了它。 我做: 然后在您的.css.php文件顶部: