2010-12-15 22 views
12

Estoy buscando para hacer algo como (psuedo_code)PHP: cómo llenar una matriz con claves y valores de modo 1 = 1, 2 = 2, 3 = 3, etc.

$myarray = fill_array_keys_and_values_from_parameter1_until_parameter2(18, 50); 

Así que consigo

$myarray= array(

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

sin tener que un bucle for idealmente. ¿Hay una función de este tipo de PHP, que tenía un navegar del manual, pero no podía ver lo que estaba buscando.

Gracias de antemano

+7

Por qué no puedes utilizar un bucle? ¿Y por qué necesitas hacer esto? –

+2

Nop. Use un ciclo para. – DampeS8N

Respuesta

27

No creo que hay una función específica que puede hacer esto (aunque hay un par que se acercan.)

¿Qué hay de hacer esto?

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

+1

1 Esta es prácticamente la mejor manera. Tenga en cuenta que si desea que los valores como cadenas, al igual que en la pregunta, tendría que ejecutar 'array_map()' en todo el rango de convertir a la cadena. – Orbling

3

El uso de un bucle for: solución

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

de simshaun es mucho mejor, sin embargo.

Cuestiones relacionadas