Services webmasters
Partenaires
Jeux concours gratuits
 
Booléens
<<<
Tableaux Objets
>>>

8.10 Créer des variables
8 Développer PHP 4.0
 Manuel PHP

Présentation
Entiers (Longs)
Les nombres à virgules flottantes (Doubles, Floats)
Chaînes de caractères (strings)
Booléens
->Tableaux
Objets
Ressources
Macros de création automatique de variables globales
Créations de constantes

8.10.6 Tableaux

Les tableaux sont stockées dans les tables de hashage internes de Zend, qui sont accessibles via les fonctions zend_hash_* . Pour chaque tableau que vous voulez créer, vous devez créer une nouvelle table de hashage, qui sera stockée dans le membre ht du champs zval.value .

Il y a tout un jeu de fonctions pour simplement créer des tableaux, qui se révèle très pratique. Pour créer un nouveau tableau, appelez la fonction array_init .


zval *new_array;

MAKE_STD_ZVAL(new_array);

if(array_init(new_array) != SUCCESS)
{
    // gestion des erreurs
}
Si array_init échoue à créer un tableau, elle retournera FAILURE .

Pour ajouter un nouvel élément au tableau, vous pouvez utiliser l'une des nombreuses fonctions conçues pour ce faire, suivant la manière que vous voulez le faire. Les tableaux API Zend pour les tableaux associatifs , API Zend pour les tableaux indexés (Partie 1) et API Zend pour les tableaux indexés (Partie 2) vous décrives toutes ces fonctions. Elles retournent toutes FAILURE en cas d'échec et SUCCESS en cas de succès.

Toutes ces fonctions fournissent une couche d'abstraction des tables de hashage Zend. Bien sur, vous pouvez aussi utiliser directement les fonctions de hash : par exemple, si vous avez déjà une enveloppe zval allouée, que vous souhaitez insérer dans un tableau. Cela se fait avec la fonction zend_hash_update() pour les tableaux associatifs (voir Ajouter un élément dans un tableau associatif ) et zend_hash_index_update pour les tableaux indexés (voir Ajouter un élément dans un tableau indexé ):

Pour émuler la fonctionnalité de add_next_index_* , vous pouvez utiliser ceci :


zend_hash_next_index_insert(ht, zval **new_element, sizeof(zval *), NULL)

Note: pour retourner un tableau depuis une fonction, utilisez la fonction array_init et toutes les fonctions nécessaires sur la variable prédéfinie return_value (qui est fournie comme argument de vos fonctions exportées; reportez vous aux discussions sur le retour de valeurs). Vous n'avez pas à utiliser MAKE_STD_ZVAL avec cette variable.

Tip: Pour éviter d'avoir à écrire new_array->value.ht à chaque fois, vous opuvez utiliser la macro HASH_OF(new_array) , qui est aussi recommandée pour des raisons de compatibilité et de style.

<< Tableaux >>
Booléens Créer des variables Objets
Services webmasters
Les manuels
 
CoursPHP.com - Reproduction interdite -