44 votes

PHP crée un tableau où clé et valeur sont identiques

Je suis à l'aide de l' range() fonction pour créer un tableau. Cependant, je veux de l' keys à être le même que l' value. C'est ok quand je le fais, range(0, 10) tant que l'indice commence à partir de 0, cependant si je n' range(1, 11), l'indice sera toujours démarrer à partir d' 0, de sorte qu'il finit 0=>1 quand je veux qu'il soit 1=>1

Comment puis-je utiliser range() créer un tableau où l' key est le même que l' value?

139voto

Mason Points 1562

Que diriez-vous de array_combine?

 $b = array_combine(range(1,10), range(1,10));
 

7voto

Smolla Points 371

Ou vous l'avez fait de cette façon:

 $b = array_slice(range(0,10), 1, NULL, TRUE);
 

Trouvez le résultat ici: http://codepad.org/gx9QH7ES

0voto

Russell Dias Points 17162

Il n'y a pas de solution prête à l'emploi pour cela. Vous devrez créer le tableau vous-même, comme ceci:

 $temp = array();
foreach(range(1, 11) as $n) {
   $temp[$n] = $n;
}
 

Mais, plus important encore, pourquoi avez-vous besoin de cela? Vous pouvez simplement utiliser la valeur elle-même?

0voto

Mike Lewis Points 29305
 <?php
function createArray($start, $end){
  $arr = array();
  foreach(range($start, $end) as $number){
    $arr[$number] = $number;
  }
  return $arr;
}

print_r(createArray(1, 10));
?>
 

Voir la sortie ici: http://codepad.org/Z4lFSyMy

0voto

RDL Points 3589
<?php

$array = array();
foreach (range(1,11) as $r)
  $array[$r] = $r;

print_r($array);

?>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X