回答編集履歴

2 微修正

te2ji

te2ji score 19034

2018/05/23 10:00  投稿

質問内容がよく分からんけど、`$_SESSION["cart"] = [$_POST["item"]];`の書き方の質問だとして、以下のように記述すると良いです。
```php
$_SESSION["cart"][0] = $_POST["item"];
or
$_SESSION["cart"] = [0 => $_POST["item"]];
```
下だと、$_SESSION["cart"]自体を上書きしてしまうので、ちゃんと意味を考えて使い分ける必要があります。
マニュアル読むと良いです。
[配列](http://php.net/manual/ja/language.types.array.php)
if の構造と、isset の使い方がおかしいので、サンプル上げときます。
```php
<?php
$arr = [
   NULL,
   'hoge1',
   'hoge21',
   ];
foreach ($arr as $val) {
   $_POST["item"] = $val;
   if(isset( $_POST["item"] ) === true){
   if(isset( $_POST["item"] )){
       if(isset( $_SESSION["cart"] )) {
           $_SESSION["cart"][] = $_POST["item"];
       }else{
           $_SESSION["cart"][0] = $_POST["item"];
       }
   }
   if(isset($_SESSION["cart"])){
       foreach($_SESSION["cart"] as $cart_val){
           echo $cart_val . ' ';
       }
   }
   echo PHP_EOL;
}
```
個人的には、$_POST を使用するスクリプトは嫌いです。
1 追記

te2ji

te2ji score 19034

2018/05/22 11:43  投稿

質問内容がよく分からんけど、`$_SESSION["cart"] = [$_POST["item"]];`の書き方の質問だとして、以下のように記述すると良いです。
```php
$_SESSION["cart"][0] = $_POST["item"];
or
$_SESSION["cart"] = [0 => $_POST["item"]];
```
下だと、$_SESSION["cart"]自体を上書きしてしまうので、ちゃんと意味を考えて使い分ける必要があります。
マニュアル読むと良いです。  
[配列](http://php.net/manual/ja/language.types.array.php)  
if の構造と、isset の使い方がおかしいので、サンプル上げときます。
```php
<?php
$arr = [
   NULL,
   'hoge1',
   'hoge21',
   ];
foreach ($arr as $val) {
   $_POST["item"] = $val;
   if(isset( $_POST["item"] ) === true){
       if(isset( $_SESSION["cart"] )) {
           $_SESSION["cart"][] = $_POST["item"];
       }else{
           $_SESSION["cart"][0] = $_POST["item"];
       }
   }
   if(isset($_SESSION["cart"])){
       foreach($_SESSION["cart"] as $cart_val){
           echo $cart_val . ' ';
       }
   }
   echo PHP_EOL;
}
```
個人的には、$_POST を使用するスクリプトは嫌いです。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る