blog sur le développement web, jquery,css3, Magento, Symphony, php et bien d'autres choses

Articles tagués ‘array’

PHP : remplir les propriétés d’un objet PHP à partir d’un tableau

On est souvent confronté à ce shéma lors de nos développement, on à d’un un tableau php qui contient des informations, de l’autre notre objet ayant des propriétés, lesquelles doivent être renseignées avec les informations du tableau. Voici une petite fonction qui permet de faire ce traitement de manière générique. Si vous connaissez uneautre fonction php qui permet de remplir un objet php à partir d’un array plus rapidement encore je suis preneur.


// mon tableau de données
$array = array('prop1' => 'foo', 'prop2' => 'bar');
// mon objet
$object = new maRandomClass();

// ma fonction qui va injecter les données dans l'objet
function feed($arr, $object) {

    foreach($arr as $key => $value)
    {
        // si la clef du tableau est effectivement une propriete de mon objet
        // alors je renseigne la propriete de mon objet avec la value
        if(property_exists(get_class($object), $key)) {
            $object->{$key} = $value;
        }
    }

    return $object;
}

// on recupere l'objet avec les nouvelles value
$object = feed($array, $object);

 

PHP : supprimer des caractère spéciaux d’un nom de fichier ou d’une string

J’écris cet article après avoir eu des problèmes avec la fonction php unlink qui permet de supprimer un fichier. je n’arrivais pas à supprimer un document et la cause en était la présence d’une apostrophe dans le titre…

du coup le nom interprété par PHP était tronqué.

afin d’enlever tous les caractères qui peuvent vous embeter voici un petit code sympa:

$interdit = array(">", "<",  ":", "*", "/", "|", "?", '"', '<', '>', "'");
$nom = str_replace($interdit, "\\", $nom);

Voila votre variable est clean maintenant 🙂

php – usort() ou comment trier un tableau multidimensionnel php

Voici comment trier un tableau multidimensionnel ou un tableau d’objet grace à la méthode : usort()

voici mon tableau à trié par marque:

$montableau = array(
                    array('marque' => 'mercedes','modele'=>'SLK'),
                    array('marque' => 'renault','modele'=>'twingo'),
                    array('marque' => 'renault','modele'=>'Espace'),
                    array('marque' => 'suzuki','modele'=>'swift')
               );

voici ma fonction de callback appellée par la suite par usort():

public function sortMarqueTab($itemA,$itemB)
    {
        $nameA = $itemA[marque];
        $nameB = $itemB[marque];

        if ($nameA == $nameB) {
            return 0;
        }
        if ($nameA < $nameB) {
            return -1;
        }
        return 1;
    }

et voici ma fonction qui appelle le callback

protected function _sortMarque($montableau)
    {
        usort($montableau ,"sortMarqueTab");
        return $montableau ;
    }

vous obtiendrez alors un tableau classé par marque (dans ce cas).

%d blogueurs aiment cette page :