1

array_push に問題があります。"Parse error: syntax error, unexpected T_DOUBLE_ARROW"変数 $vars は、paypal の連想配列です。

array_push($vars,
'item_number'.$num => $id,
'item_name'.$num => $cart_item->name,
'amount_'.$num => $cart_item->discount_price,
'quantity_'.$num => $value);



$vars = array (
'cmd' => '_cart',
'charset' => 'utf-8',
'upload' => '1',
'currency_code' => 'HKD',
'amount' => $_SESSION['total'],
'custom' => $user_data->id)
4

3 に答える 3

1

構文は、=>配列を定義する場合にのみ有効です。array_push自動インクリメントの数値キーを使用して要素をプッシュするためにのみ使用できます。

多分あなたは使うことができますarray_mergehttp ://www.php.net/manual/en/function.array-merge.php

$vars = array_merge( $vars, array(
    'item_number'.$num => $id,
    'item_name'.$num => $cart_item->name,
    'amount_'.$num => $cart_item->discount_price,
    'quantity_'.$num => $value
));

または、PHPの配列の: +演算子+とはまったく異なる動作をすると考えて、演算子を使用することもできますか?array_merge

$vars =  $vars + array(
    'item_number'.$num => $id,
    'item_name'.$num => $cart_item->name,
    'amount_'.$num => $cart_item->discount_price,
    'quantity_'.$num => $value
);
于 2012-07-01T07:52:25.060 に答える
1

PHPマニュアルから:

array_push()ペアを配列に挿入するために使用する場合は"key" => "value" 、次を使用して実行できます。

$data[$key] => $value;

array_pushを使用する必要はありません

于 2012-07-01T07:54:41.043 に答える
0

配列をスタックにプッシュしているため、コードはそれを反映する必要があります

array_push($vars, array(
                     'item_number'.$num => $id,
                     'item_name'.$num => $cart_item->name,
                     'amount_'.$num => $cart_item->discount_price,
                     'quantity_'.$num => $value
                  )
);
于 2012-07-01T07:51:17.140 に答える