我的代码:
$a = array_fill(5, 6, 'banana');
打印
Array
(
[5] => banana
[6] => banana
[7] => banana
[8] => banana
[9] => banana
[10] => banana
)
但是我希望它像下面那样
Array
(
[5] => banana 1
[6] => banana 2
[7] => banana 3
[8] => banana 4
[9] => banana 5
[10] => banana 6
)
上面有没有其他的php功能?如果是的话,请你告诉我。
答案 0 :(得分:2)
不是开箱即用,但您可以轻松自己编写:
<?php
function custom_array_fill($start_index, $num, $value) {
$result = array();
for($i = 1; $i < $num + 1; $i++) {
$result[$start_index + $i - 1] = $value . " " . $i;
}
return $result;
}
答案 1 :(得分:2)
function test_print_value($item2, $key, $some_value)
{
echo $some_value." $item2<br />\n";
}
array_walk(range(0,10), 'test_print_value', 'Banana Apple ');
输出:
Banana Apple 0
Banana Apple 1
Banana Apple 2
Banana Apple 3
Banana Apple 4
Banana Apple 5
Banana Apple 6
Banana Apple 7
Banana Apple 8
Banana Apple 9
Banana Apple 10
答案 2 :(得分:1)
也许你可以使用array_walk函数?
$a = array_fill(5, 6, 'banana');
array_walk($a, function(&$item, $key) {
$item = sprintf('%s %d', $item, ($key-4));//subtract 4 from key to get 'banana 1'
});
请不要忘记将 $ item 作为参考传递(使用&amp; 字符)。否则,您将不会修改阵列。
答案 3 :(得分:0)
function myFillArray($index,$size,$value){
$array = array();
for($i = 0; $i < $size; $i++){
$array[$index + $i] = $value." ".$i;
}
return $array;
}