2011-08-03 5 views
5

J'ai un code comme ci-dessous et je ne suis pas sûr quel type de variable de données $ACTIVITYGROUPS[] a et comment puis-je le lire?Quelle est la signification de []

$ACTIVITYGROUPS[] = saprfc_table_read ($fce, "ACTIVITYGROUPS", $i); 

Quand je l'ai print_r(saprfc_table_read ($fce, "ACTIVITYGROUPS", $i); j'ai eu tas de tableaux sans seperator et ne savez pas comment exactract les données. Quelqu'un peut-il me dire ce que cela fait dans les phrases ci-dessus?

Voici ce résultat print_r(saprfc_table_read ($fce, "ACTIVITYGROUPS", $i); me donne:

Array (
    [AGR_NAME] => Y:SECURITY_DISPLAY 
    [FROM_DAT] => 20080813 
    [TO_DAT] => 99991231 
    [AGR_TEXT] => Security Display - Users & Roles 
    [ORG_FLAG] => C 
) 

Array (
    [AGR_NAME] => Y:SECURITY_ADMIN_COMMON 
    [FROM_DAT] => 20080813 
    [TO_DAT] => 99991231 
    [AGR_TEXT] => Security Administrator 
    [ORG_FLAG] => C 
) 

Array (
    [AGR_NAME] => Y:LOCAL_TRANSPORT 
    [FROM_DAT] => 20090810 
    [TO_DAT] => 99991231 
    [AGR_TEXT] => Transport into target client - DEV system only 
    [ORG_FLAG] => 
) 
+4

_S'il vous plait s'il vous plait s'il vous plait mettre un peu plus de temps dans vos questions. Ensuite, vous pourriez obtenir de l'aide à ce sujet. – Bojangles

+2

duplicata possible de [Référence - Que signifie ce symbole en PHP?] (Http://stackoverflow.com/questions/3737139/reference-what-does-this-symbol-mean-in-php) – Wrikken

+0

@Wrikken: Intéressant Assez, il n'y a * aucun symbole de crochet * sur cette page!J'ai échoué à trouver tout en utilisant CTRL + F dans Firefox. On dirait qu'il est temps de le mettre à jour. –

Répondre

22

[] signifie pousser - mettre l'argument donné comme un nouvel élément à la fin du tableau. Cela signifie que $ACTIVITYGROUPS est un tableau *.

$arr = array(); 
$arr[] = 1;  // Put 1 in position 0 
$arr[] = "a";  // Put "a" in position 1 
$arr[] = array() // Put a new, empty array in position 2 

Comme indiqué par la documentation PHP, array_push a le même effet que [].


* Si ce n'est pas un tableau, en utilisant [] vous donnera une erreur de syntaxe:

Warning: Cannot use a scalar value as an array in test.php on line 4

+0

Je tiens à souligner que si $ test est nul, [cela fonctionne] (http://3v4l.org/7qhAD). Cependant, en poussant avec 'array_push()', vous ne pouvez pas définir le premier paramètre sur null (http://3v4l.org/cj5DF). –

1

how do I read it ?.

Depuis saprfc_table_read retourne déjà un tableau, $ACTIVITYGROUPS sera un tableau de tableaux ([] crée un nouvel élément de tableau dans le tableau $ACTIVITYGROUPS). Pour le lire, vous pouvez parcourir avec foreach:

$ACTIVITYGROUPS[] = saprfc_table_read ($fce,"ACTIVITYGROUPS",$i); 

foreach ($ACTIVITYGROUPS as $group) { 
    echo $group['AGR_NAME']; // echos Y:SECURITY_DISPLAY on first iteration 
    echo $group['FROM_DAT']; // echos 20080813 on first iteration 
    // and so on... 
} 
+0

Grande réponse ... Merci –

+0

Aussi pour afficher toute la variable, vous pouvez utiliser 'var_dump ($ ACTIVITYGROUPS)' – verybadbug

2

Dans de nombreuses langues, la notation [] signifie un tableau. Est le même que array_push() de php: il pousse un élément dans la variable qui a [] à la fin.

Si la variable est null, vous pouvez considérer les crochets comme une déclaration d'un tableau.

La même notation de push s'applique à Javascript, par exemple. Lorsque vous l'utilisez comme $var[] = 'a'; ce qui se passe est le même que array_push() Je parlais ci-dessus. Trouve juste la position suivante dans le tableau et ajoute votre valeur.

Un tableau peut être marchèrent avec for, foreach, while, do while et vous pouvez vérifier son contenu avec print_r() ou var_dump() fonctions.

0

C'est un tableau, mais la sortie que vous avez montre que vos tableaux imbriqués n'ont pas de clés. Je suis sûr qu'ils ont les clés par défaut de 0,1,2,3,4 ... et ainsi de suite, mais si vous voulez les identifier d'une manière significative, je suggère d'ajuster les clés des données dans le tableau .

print_r($ACTIVITYGROUPS); //this should output the whole array 
print_r($ACTIVITYGROUPS[0]); //this should output just the first element of the array, which is also an array 
//now you have an 'address' for the array that you understand, now lets output one of the values 
foreach($ACTIVITYGROUPS as $key => $item){ 
    echo $item['ARG_NAME']; // this will output the ARG NAME from each of the arrays, in order 
} 
+0

Merci beaucoup ... –

+0

Comment retourner $ ACTIVITYGROUPS [] avec les mêmes données dans Function? donc je peux le lire après avoir appelé la fonction .... Merci d'avance –

Questions connexes