array_combine(); 没有正确地产生价值

EDIT: Alright, my original post was kinda confusing, I've also tried something new. Here's my code:

if($_POST['submit']=='Save'){
    $_SESSION['quantity'] = $_POST['quantity'];

    $_SESSION['order'] = array_combine($_SESSION['parts-order'], $_SESSION['quantity']);

   header("Location: shopping.php");
    exit;
}

Both $_SESSION arrays are 430 long, both containing strings. When I print_r() on both $_SESSION arrays separately, they return their expected values. Basically, when I combine the arrays, I expect this output:

Array
(
    [1 inch ratchet tie down] => 13
    [24" White Ring Buoy w/ Reflective Tape] => 4
    [50' Throw Line w/bag] => 5
    [Classic Shirt Large] => 0
    ...
)

Y'know, or whatever values are in $_SESSION['quantity']. I, instead, get this:

Array
(
    [1 inch ratchet tie down] => 0
    [24" White Ring Buoy w/ Reflective Tape] => 0
    [50' Throw Line w/bag] => 0
    [Classic Shirt Large] => 0
    ...
)

Unless each of the $_SESSION['quantity'] values is the same, it produces 0. How do the values get changed to 0 in the process of array_combine?

Thanks.