嘿,下面是我目前正在使用的代码,它做它的工作,但我从另一个循环内多次调用它。谁能建议一个更干净的方式来重写这段代码?
$list = array();
for($i = 1; $i <= $number ; $i++) {
array_push($list, array('text'=>$i, 'value'=>$i));
}
return $list;
一般来说,它通常只是创建一个关联数组,直到传递给它的数字。
。
array (size=100)
0 =>
array (size=2)
'text' => int 1
'value' => int 1
1 =>
array (size=2)
'text' => int 2
'value' => int 2
2 =>
array (size=2)
'text' => int 3
'value' => int 3
3 =>
array (size=2)
'text' => int 4
'value' => int 4
4 =>
array (size=2)
'text' => int 5
'value' => int 5
5 =>
array (size=2)
'text' => int 6
value' => int 6
很抱歉,如果这个问题在这个网站上不是很相关,我试图教自己更好的编码实践,我想不出还有哪里可以问这个问题。
由于某种原因,在重写函数时想到了短语数组映射,但我很难找到任何例子。
我不确定它在任何方面都更好,但听起来这就是你想要的:
$list = array_map(function($a) {
return array('text' => $a, 'value' => $a);
}, range(1, $number));
你可以试试:
$list = array();
for($i = 1; $i <= $number ; $i++) {
$list[] = array('text'=>$i, 'value'=>$i);
}
return $list;
它将在每次迭代时停止array_push
函数调用。