PHP:如何在数组中添加值?

时间:2016-03-16 08:06:09

标签: php arrays

我想在数组$ array_user_answer中添加$ user_answer值,每个按钮都被点击。

我尝试了$ array_user_answer [],但它只是替换了第一个索引值。

仅供参考:不要担心按钮$ _POST ['next_question']它正常工作并且标题。

     $array_user_answer=array();

      if(isset($_POST['next_question']))
        {
            $answer = $_POST['answer'];
            $user_answer = $_POST['option_value'];

            $array_user_answer[] = $user_answer;

            if($answer == $user_answer)
            {
                header("Location: quiz_started?question=$next");
            }
            else
            {
                header("Location: quiz_started?question=$next");        
            }
        }

2 个答案:

答案 0 :(得分:0)

看起来你需要Sessions

会话可让您在同一浏览器的页面调用之间保存数据。 您需要做的就是调用session_start()并使用$_SESSION数组,php将完成剩下的工作。

//initialize session
session_start();
if(isset($_POST['next_question']))
{
    $answer = $_POST['answer'];
    $user_answer = $_POST['option_value'];

    //add info to session array
    $_SESSION['user_answers'][] = $user_answer;

    if($answer == $user_answer)
    {
        header("Location: quiz_started?question=$next");
    }
    else
    {
        header("Location: quiz_started?question=$next");        
    }
}

得到这样的答案:

print_r($_SESSION['user_answers'];

取消答案:

unset($_SESSION['user_answers']);

完全破坏会话

//will delete all session info!
session_destroy();

查看reference

答案 1 :(得分:0)

array_push()中有一个名为PHP的非常有用的功能。您可以将值添加到现有数组或空数组中。

您必须制作一个新数组,例如$myArray = array() 现在你可以做类似的事情:

array_push($myArray, "value 1", "value 2", "value 3")

要知道值是否存储在数组中,您只需使用var_dump()函数:var_dump($myArray)

输出将为您提供以下内容:

array(3) { [0]=> string(7) "Value 1" [1]=> string(7) "Value 2" [2]=> string(7) "Value 3" }

注意:如果信息没有存储在某个地方(例如数据库..或其他东西),数组中的值将不会永久存储,如果要自动存储,可以使用数据库或{{1}存储要添加到数组中的信息。

sessions看起来像session 要为此会话添加值,您可以执行$_SESSION["myArray"][]

之类的操作

示例:

$_SESSION["myArray"] = "Value 1"

输出:<?php session_start(); $_SESSION["value"][] = uniqid(); var_dump($_SESSION["value"]); ?>

每次刷新页面时,都会为会话数组添加一个值。要清空会话,您可以使用array(10) { [0]=> int(0) [1]=> string(13) "56e919195f69e" [2]=> int(0) [3]=> string(13) "56e9191a48697" [4]=> int(0) [5]=> string(13) "56e9191b171cc" [6]=> int(0) [7]=> string(13) "56e9193143838" [8]=> string(13) "56e9193c5ac39" [9]=> string(13) "56e9193dedc09" }unset($_SESSION["myArray"])(将销毁使用您的脚本进行的所有会话。)

如果您愿意,可以在http://php.net/manual/en/function.array-push.php

上阅读有关此功能的更多信息