2013-11-27 2 views
0

세션으로 배열에 제품을 추가하고 있지만 해당 제품을 세션에 추가하기 전에 해당 제품이 세션 배열에 있는지 확인하는 방법 . 제품이있는 경우 세션 배열에 해당 제품을 추가하지 않으면 해당 제품의 수를 늘리고 싶습니다. 내 PHP 코드는 아래와 같습니다.제품이 세션 배열에 있는지 확인하고 현재있는 경우 제품 번호를 늘리십시오.

session_start(); 
if(empty($_SESSION['fields1'])) { 
    $_SESSION['fields1'] = array(); 
}  
$qty = 1; 

$id = $_POST['id']; 
$name = $_POST['name']; 
$description = $_POST['description']; 
$cnt = 0; 
print_r($_SESSION['fields1']); 
if (! empty($_SESSION['fields1'])){ 
    foreach ($_SESSION['fields1'] as $key=>$val){ 
      if ($id == $val['id']){ 
       $qty = $val['qty']++; 
       //echo "qty ===".$qty; 
       $_SESSION['fields1'][$cnt]['qty'] = $val['qty']++;      
      } 
      else 
      { 
       $arrayval = array('id' => $id,'name' => $name,'description' => $description,'qty' => $qty); 
       array_push($_SESSION['fields1'] ,$arrayval); 
      } 
      $cnt++; 
    } 

}else{ 
    $arrayval = array('id' => $id,'name' => $name,'description' => $description,'qty' => $qty); 
    array_push($_SESSION['fields1'] ,$arrayval); 
} 
//print_r($_SESSION['fields1']); 
echo json_encode($_SESSION['fields1']); 
+0

당신이와 in_array 사용할 수 있습니다 ('1', $ _SESSION [ 'sessionname']) ; –

+3

3 votes? 놀라운^_ ^ –

답변

0

$id 제품의 ID이고 fields 제품의 배열 인 경우,이 같은 시도 :

PHP에서
if(empty($_SESSION['fields'][$id])) 
    $_SESSION['fields'][$id]['qty'] = 1; 
else 
    $_SESSION['fields'][$id]['qty']++; 
관련 문제