2010-12-15 11 views
12

szukam zrobić coś takiego (psuedo_code)PHP: jak wypełnić tablicę z kluczami i wartościami więc 1 = 1, 2 = 2, 3 = 3 itd

$myarray = fill_array_keys_and_values_from_parameter1_until_parameter2(18, 50); 

tak aby uzyskać

$myarray= array(

'18' => '18', 
'19' => '19', 
... 
'50' => '50' 
) 

bez konieczności użycia pętli for. Czy istnieje taka funkcja PHP, miałem przeglądanie instrukcji, ale nie widziałem tego, czego szukałem.

góry dzięki

+7

Dlaczego nie możesz użyć pętli for? I dlaczego musisz to robić? –

+2

Nie. Użyj pętli for. – DampeS8N

Odpowiedz

27

Nie sądzę, istnieje konkretna funkcja, która może to zrobić (choć istnieje kilka, które zbliżają.)

co to robi?

$values = range(18, 50); 
$array = array_combine($values, $values);

+1

+1 To jest najlepszy sposób. Zauważ, że jeśli chcesz, aby wartości były łańcuchami, tak jak w pytaniu, musiałbyś uruchomić 'array_map()' w zakresie do konwersji na łańcuch. – Orbling

3

za pomocą pętli for: rozwiązanie

$arr = array(); 
foreach (range(18, 50) as $i) { 
    $arr[$i] = $i; 
} 

simshaun jest znacznie lepiej, choć.

Powiązane problemy