将单个值分成一个数组
问题描述:
是否可以根据数值将数字分成一个数组?将单个值分成一个数组
例如:
$val = 3;
// do something here to convert the number 3 into 1's
Array
(
[0] => 1
[1] => 1
[2] => 1
)
答
$array = array_fill(0, $val, 1);
答
做这样的事情:
$arr = Array();
for ($i=0;$i<$val;$i++) {
$arr[] = 1;
}
但具有较大的数字,您可能需要不同的东西。
答
array_fill(0, $val, 1);
建立一个数组
Array
(
[0] => 1
[1] => 1
[2] => 1
)
+3
aw ninja'd by 17 secs:p – DdD 2012-04-03 04:47:58
答
另一个稍短解决方案是使用range()
$val = 3;
$array = range(1, $val);
print_r($array);
// Output:
// Array
// (
// [0] => 1
// [1] => 2
// [2] => 3
//)
这是不可能的值是负的,或零。
这很好,因为所有这些解决方案(包括循环)都不能使用零或负值。然而,range()
会给你一个不同的结果(例如1到3的5位数字范围)。
所以如果值是5,它应该将其转换为长度为5的数组吗?如果是这种情况你不能只写一个for循环? 私有函数toArray($ value){toArray = array(); ($ i = 0; $ i Sachin 2012-04-03 04:44:37
你想要发生负数还是零? – 2012-04-03 04:49:03
该值不可能为负数或零。 – Lea 2012-04-03 04:58:28