2012-04-03 105 views
4

是否可以根據數值將數字分成一個數組?將單個值分成一個數組

例如:

$val = 3; 

// do something here to convert the number 3 into 1's 

Array 
(
    [0] => 1 
    [1] => 1 
    [2] => 1 
) 
+2

所以如果值是5,它應該將其轉換爲長度爲5的數組嗎?如果是這種情況你不能只寫一個for循環? 私有函數toArray($ value){toArray = array(); ($ i = 0; $ i <$ value; $ i ++) $ toArray [] = 1; 返回$ toArray; } – Sachin 2012-04-03 04:44:37

+0

你想要發生負數還是零? – 2012-04-03 04:49:03

+0

該值不可能爲負數或零。 – Lea 2012-04-03 04:58:28

回答

6
$array = array_fill(0, $val, 1); 
1

做這樣的事情:

$arr = Array(); 
for ($i=0;$i<$val;$i++) { 
    $arr[] = 1; 
} 

但具有較大的數字,您可能需要不同的東西。

3
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

1

另一個稍短解決方案是使用range()

$val = 3; 
$array = range(1, $val); 
print_r($array); 
// Output: 
// Array 
// (
    // [0] => 1 
    // [1] => 2 
    // [2] => 3 
//) 

這是不可能的值是負的,或零。

這很好,因爲所有這些解決方案(包括循環)都不能使用零或負值。然而,range()會給你一個不同的結果(例如1到3的5位數字範圍)。

相關問題