derniere clé insérée avec array_push()

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : derniere clé insérée avec array_push()

par areka » 10 févr. 2009, 00:40

Merci pour vos réponses. Malheureusement aucune de ces solutions ne fonctionne pour mon cas. Il y aura des trous, et je voudrai me servir de cet id justement comme un handle vers un élément de $livre depuis l'exterieur de l'objet.

Par exemple :
$les_livres = new exemple();

$mon_livre = $les_livres->ajoute('Ca', 'Stephen King');
$ton_livre = $les_livres->ajoute('1984', 'Orwell');

echo 'ton livre s\'appelle ' . $les_livres->titre($ton_livre);

echo 'je brûle mon livre !';
$les_livres->bruler($mon_livre);


en ajoutant à la classe exemple :
function titre($handle) {
   return $this->livre[$handle]['titre'];
}

function bruler($handle) {
   unset($this->livre[$handle]);
}
Donc je dois être sûr d'avoir le bon index et qu'il soit pérène...
Ou trouver une autre méthode :?

par Calimero » 09 févr. 2009, 10:24

Ou sinon :
return max(array_keys($this->livre));

par AB » 09 févr. 2009, 09:49

Normalement puisque cela correspond au dernier élément du tableau l'index devrait être égal à count($tableau)-1. Et au cas où ton tableau possède des 'trous' tu pourrais au préalablement le réindexer avec une fonction comme array_splice($tableau,0,0);

derniere clé insérée avec array_push()

par areka » 09 févr. 2009, 05:05

Bonjour, j'ai une classe qui ressemble à ça :
class exemple {

   private $livre = array();

   function ajoute($titre, $auteur) {
      array_push($this->livre, array('titre' => $titre, 'auteur' => $auteur));
   }

}
Je souhaiterais que la fonction ajoute() retourne la valeur de la clé du nouvel enregistrement... Et je ne sais fichtrement pas comment l'obtenir. Quelqu'un peut m'aider ? Merci !