[英]Using anonymous functions to generate arrays in PHP
我有这个代码块
$data['cp'][$key]->prominence = $meta_data['prominence'];
$data['cp'][$key]->related_link = (function()
{ $arr = array();
for ( $i = 1; $i < 4 ; $i++ ) {
$rldata = array();
$rldata['title'] = $metadata['related_link_'.$i.'_title'];
$rldata['title'] = $metadata['related_link_'.$i.'_url'];
array_push( $arr, $rldata );
}
return $arr;
});
如您所见,我希望$data['cp'][$key]->related_link
等于匿名函数动态生成的多维数组。
但是当使用print_r
它只是将键显示为等于Closure.
如何编辑代码以使其实际返回数组,而不是仅仅等于闭包。
这个怎么样:
<?php
$x = (function () { return array (1, 2, 3); });
$y = call_user_func(function () { return array (1, 2, 3); });
print_r($x);
print_r($y);
?>
结果:
Closure Object
(
)
Array
(
[0] => 1
[1] => 2
[2] => 3
)
您应该执行该功能,直到现在您只是声明它
$data['cp'][$key]->prominence = $meta_data['prominence'];
$data['cp'][$key]->related_link = call_user_func(function()
{ $arr = array();
for ( $i = 1; $i < 4 ; $i++ ) {
$rldata = array();
$rldata['title'] = $metadata['related_link_'.$i.'_title'];
$rldata['title'] = $metadata['related_link_'.$i.'_url'];
array_push( $arr, $rldata );
}
return $arr;
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.