저는 PHP에서 초보자입니다. 조금 이상한 질문을하면 사과드립니다.php 배열의 각 키와 값을 나열하십시오.
POST 배열과 세션 배열에 저장하는 2 개의 변수를 확인하려고합니다. 2 개의 변수는 장바구니에있는 항목의 크기와 색상입니다.
이 두 변수가 세션 배열에 이미 존재하는지 어떻게 확인할 수 있습니까? 그것이 맞다면 나는 단지 그것들의 양을 증가시키고 싶다. 사실, 나는이 경우를 확인하기 위해 if 문을 작성하기 위해 실종되었다고 생각한다. 코드는 다음과 같습니다.
if (isset($_POST['ID']) && isset($_POST['SIZE']) && isset($_POST['COLOR'])) {
$product = $_POST['ID'];
$size = $_POST['SIZE'];
$color = $_POST['COLOR'];
$Found = false;
$i = 0;
// If the cart session variable is not set or cart array is empty
if (!isset($_SESSION["myArray"]) || count($_SESSION["myArray"]) < 1) {
// RUN IF THE CART IS EMPTY OR NOT SET
$_SESSION["myArray"] = array(0 => array("productID" => $product, "quantity" => 1, "size"=> $size, "color" => $color));
} else {
// RUN IF THE CART HAS AT LEAST ONE ITEM IN IT
foreach ($_SESSION["myArray"] as $each_item) {
$i++;
while (list($key, $value) = each($each_item))
{
if (($key == "productID" && $value == $product))//<- IT'S PROBABLY WHERE I SHOULD CHECK THEM BUT HOW????
{
// That item is in cart already so let's adjust its quantity using array_splice()
array_splice($_SESSION["myArray"], $i-1, 1, array(array("productID" => $product, "quantity" => $each_item['quantity'] + 1, "size"=> $size, "color" => $color)));
$wasFound = true;
} // close if condition
} // close while loop
} // close foreach loop
if ($Found == false) {
array_push($_SESSION["myArray"], array("productID" => $product, "quantity" => 1, "size"=> $size, "color" => $color));
}
}
}
도움을 주신 분들께 미리 감사드립니다.
"이 두 변수에 존재하는 경우 내 세션 배열 ... "'in_array ($ _ POST [ 'var'], $ _SESSION)'는 아마도 도움을 줄 수 있습니다. – Zerquix18
Zerquix 씨, 정말 고마워요;) 쉽고 완벽하게 작동합니다. – adam