Grzesie1k
(Grzesie K)
9 Wrzesień 2010 16:43
#1
Witam, mam problem. Posiadam tablicę:
array(
1 => a
10 => b
)
wiem, że tablica ma zawierać np.20 elementów i chciałbym uzyskać
array(
1 => a
2 => a
3 => a
4 => a
5 => a
6 => a
7 => a
8 => a
9 => a
10 => b
11 => b
12 => b
13 => b
14 => b
15 =>b
16 =>b
17 => b
18 => b
19 => b
20 => b
)
czyli uzupełnić ją.Jak tego dokonać?
GioWDS
(GioWDS)
9 Wrzesień 2010 17:29
#2
for ($i=0; $i < 20; $i++) {
if ($i < 10) $array[] = $a;
else $array[] = $b;
}
Albo troche krótsza wersja:
for ($i=0; $i < 20; $i++) {
$array[] = ($i < 10 ? $a : $b);
}
Xelosu
(Dludwicki)
9 Wrzesień 2010 17:37
#3
for(i=1; i<11; i++)
{
array[i]=a;
}
for(i=10; i<21; i++)
{
array[i]=b;
}
A nie lepiej skorzystać z: function.array-fill
lub ew. użyć: function.array-pad
:?:
Lub wreszcie użyć prostego dodawania, ale niezbyt ładnie to wygląda :lol:
$old_array = array(
1 => 'a',
10 => 'b'
);
$fill_array = array(
2 => 'a',
3 => 'a',
4 => 'a',
5 => 'a',
6 => 'a',
7 => 'a',
8 => 'a',
9 => 'a',
11 => 'b',
12 => 'b',
13 => 'b',
14 => 'b',
15 => 'b',
16 => 'b',
17 => 'b',
18 => 'b',
19 => 'b',
20 => 'b'
);
$new_array = $old_array+$fill_array;
ksort($new_array);
print_r($new_array);