2017-06-11 83 views
0
session_start(); 

echo "<form method='post'>"; 
echo "<input type='text' name='random' placeholder='Product' >"; 
echo "<input type='submit' value='submit' name='submit'>"; 
echo "</form>"; 

if(!$_SESSION['list']) { 
    $_SESSION['list'] = array(); // create session 
} 
if(isset($_POST['submit']) && empty($_POST['random'])) { // Check if input is empty 
    echo "* Input is empty!"; 
} elseif(isset($_POST['submit']) && isset($_POST['random'])) { 
    $_SESSION['list'][] += 1; // add +1 to array 
} 

foreach ($_SESSION['list'] as $value) { 
    echo $value . "<br>"; // shows the list/array 
} 

所以我試圖在提交時添加+1數字的數組,但我的數組一直保持爲1,所以它不會像:1,2,3,4 ,5 ...但它像:1,1,1,1,1,1。他們不加起來。我該如何解決?將+1號碼添加到數組

+0

爲它創建一個變量,目前它正在創建一個新的數組成員,然後向其添加1(默認爲0) – Crimson

+0

您如何使用數組鍵?除非您有不同的設置,否則我沒有看到向這樣的數組添加數字的要點。 – SolidSnake

回答

0

給出一個數組$arr$_SESSION['list']你的情況下,有可能append an element到數組的末尾如下。

$arr[] = 'new element'; 

您試圖將其與+= operator結合使用。這將首先將0附加到數組,然後增加它,導致1一直被附加。

它看起來像你真正想做的事是這樣的:

$arr[] = end($arr) + 1; 

也就是說,把數組的last值,添加1它和它添加到陣列。

+0

它爲它添加1,但它不會繼續?所以它從0到1,但它保持在1. –

+0

沒關係,我知道了。它是= $ _SESSION ['lijst'] [] = end($ _ SESSION ['lijst'])+ 1;最後我忘了[]。感謝您的幫助:D –