2017-05-05 2 views
0

선택한 옵션이 세션에 이미 있는지 확인하려고합니다. 그래서 foreach 루프를 만들어 세션의 모든 옵션을 던져 if 문을 실행합니다. 내 문제는 세션에 존재하는 옵션이있을 때마다 if 문이 1/5로 무작위로 실패한다는 것입니다. 요청은 DOM에서 오는 것이므로 항상 정확합니다. 그래서 문제가 내 foreach 루프옵션이 장바구니에 이미 존재하는지 확인하십시오.

PHP에있다가

foreach(Session::get('cartitems') as $items => $value) { 
    if(isset($value['options']) && $value['options'] == implode('', $request->options)) { 
     Session::forget('cartitems.'.$key); 
    } 
} 

내 개체 세션 ​​객체가 어떤 도움을 이해할 수있을 것이다이

{ 
    "3":{ 
     "product_id":"1", 
     "qty":2, 
     "options":"5" 
    }, 
    "4":{ 
     "product_id":"1", 
     "qty":2, 
     "options":"1" 
    }, 
    "5":{ 
     "product_id":"1", 
     "qty":3, 
     "options":"3" 
    }, 
    "6":{ 
     "product_id":"1", 
     "qty":3, 
     "options":"1" 
    } 
} 

것 같습니다. 당신은 옵션에서 이미 흥분 세션을 확인하려면

+0

이 더 많은 정보를 제공하시기 바랍니다 도움이 될 수 있습니다 희망, 당신은 루프의 모든 값을 확인할 수 있습니다 사용 "중첩 된 foreach 문을"추천 , $ 키 변수가 설정되지 않았습니다. – yazfield

답변

1

, 나는이 코드는 불완전이

foreach(Session::get('cartitems') as cartitem_key => $cartitem_row) { //session array 

    foreach($request->options as option_key => option_row){ //option array 

     if($cartime_row['options'] == option_row['options']){ 

     Session::forget('cartitems[$cartitem_key]); 

     } 

    } 

} 
관련 문제