2015-11-07 1 views
1
if (isset($_POST['callSubmit'])) { 
    $vs = 25; 
    $callName = $_POST['callName']; 
    $callNumber = $_POST['callNumber']; 
    $cNumber = array(); 

    for ($i = 0; $i <= $vs - 1; $i++) { 
     array_push($cNumber, array()); 
    } 

    $cNumber[$callNumber - 1][] = $callName; 
    print_r($cNumber); 
} 

Ce tableau append me donne une sortie de:Multidimensional PHP Poussez

Array (
[0] => Array 
    (
    ) 

[1] => Array 
    (
    ) 

[2] => Array 
    (
    ) 

[3] => Array 
    (
    ) 

[4] => Array 
    (
    ) 

[5] => Array 
    (
    ) 

[6] => Array 
    (
     [0] => Tested 
    ) 

[7] => Array 
    (
    ) 

[8] => Array 
    (
    ) 

[9] => Array 
    (
    ) 

[10] => Array 
    (
    ) 

[11] => Array 
    (
    ) 

[12] => Array 
    (
    ) 

[13] => Array 
    (
    ) 

[14] => Array 
    (
    ) 

[15] => Array 
    (
    ) 

[16] => Array 
    (
    ) 

[17] => Array 
    (
    ) 

[18] => Array 
    (
    ) 

[19] => Array 
    (
    ) 

[20] => Array 
    (
    ) 

[21] => Array 
    (
    ) 

[22] => Array 
    (
    ) 

[23] => Array 
    (
    ) 

[24] => Array 
    (
    ) 

) 

C'est la sortie quand il doit être valeur chaque fois que j'Annexer des soumettre un formulaire. Peut-être que c'est parce que l'actualisation de la page lorsque le formulaire soumet c'est pourquoi le tableau est vidé? Pas sûr mais si quelqu'un pouvait me dire la raison pour laquelle il le fait si mon hypothèse de le vider quand le formulaire est soumis s'il vous plaît faites le moi savoir.

Des alternatives sont toujours acceptées!

+2

Vous cherchez [sessions PHP] (http://php.net/manual/en/book.session.php)? – Rudie

+0

Pourquoi pousses-tu un tableau vide() '? –

+0

Parce que chaque tableau aura sa propre valeur et changera en fonction des paramètres. Donc, fondamentalement, 0 => [0] => 'A', [1] => 'B' etc. – RepeaterCreeper

Répondre

1

Vous n'apposent des tableaux blancs à $cNumber dans cette ligne:

array_push($cNumber, array()); 

Vous devez changer array() au tableau des valeurs que vous voulez.

EDIT J'ai réalisé que je n'ai pas répondu exactement à votre question.

Vous avez dit que votre code "devrait être une valeur ajoutée chaque fois que je soumets un formulaire".

Toutefois, votre code définit $cNumber = array(); chaque fois que le script est exécuté (chaque rechargement de page). En outre, $cNumber n'est pas enregistré entre le chargement de la page (voir Sessions). Le rechargement de la page provoque la réinitialisation du tableau à chaque fois.

Vous pouvez le faire en utilisant (sessions):

<?php 

    session_start(); 
    if(!isset($_SESSION["cNumber"]) { // ONLY IF array not created create it (to avoid resetting variable every time) 
     $_SESSION["cNumber"] = array(); 
     for ($i = 0; $i <= $vs - 1; $i++) { 
      array_push($_SESSION["cNumber"], array()); 
     } 
    } 
    $_SESSION["cNumber"][$callNumber - 1][] = $callName; 

    print_r($_SESSION["cNumber"]); 

?> 
+0

Oh, j'avais donc raison. D'accord, je vais aller avec la session alors. Merci! – RepeaterCreeper

+0

@RepeaterCreeper Voir mon exemple pour une idée. –