在获取和展示PDT数据方面需要帮助


Need assistance in fetching and presenting data with PDT

我已经成功设置Sandbo与PayPal和我自己的支付按钮。现在在我的感谢页面上,用户在购买后被重定向,我想打印详细信息给用户。使用PDT,我可以发送数据,这就是我如何访问它以很好地呈现它。

我有$keyarray中的数据,这是我的pdt中的一些PHP代码:截图:http://snag.gy/PdsQH.jpg

$firstname = $keyarray['first_name'];
$lastname = $keyarray['last_name'];
$itemname = $keyarray['item_name'];
$amount = $keyarray['payment_gross'];
$id = $keyarray['item_number'];
echo ("<div id='welcomeText'>Thank you for your purchase!</div>");
echo ("<p><div id='bold'>Payment Details</div></p><br>'n");
echo ("<div class='abouttext'>Name: $firstname $lastname</div>'n");
$string1 = 'item_number';
$string2 = 'item_name';
$string3 = 'quantity';
$count = count($keyarray);
for($idx = 1; $idx < $count; $idx ++) {
if (isset($string2) && 'item_name' != null)
echo ("<div class='abouttext'>Item name: ".$keyarray[$string2.$idx]."</div>'n");
echo ("<div class='abouttext'>Item ID: ".$keyarray[$string1.$idx]."</div>'n");
echo ("<div class='abouttext'>Qty: ".$keyarray[$string3.$idx]."</div>'n");
}

问题是它循环了65次,因为它很长。我想改变$count = count($keyarray);要计算次数,item_number在$keyarray中,如下所示$count = count($keyarray['item_number');-可能吗?我也可以硬编码10而不是$count,让它循环10次,结果不会那么糟糕。

注意:如果您可以在源代码中更改$keyarray的内容则更好。

你可以在循环中创建名字:

$string = 'item_name';
$arr_val = array(
        'item_name1' => 'Kot1',
        'item_name2' => 'Kot2',
        'item_name3' => 'Kot3',
        'item_name4' => 'Kot4',
        'item_name5' => 'Kot5'
        );

for($idx =1; $idx < 6; $idx ++) {
    var_dump($arr_val[$string.$idx]);
}

这将输出:

string 'Kot1' (length=4)

string 'Kot2' (length=4)

string 'Kot3' (length=4)

string 'Kot4' (length=4)

string 'Kot5' (length=4)

编辑:使用下面的代码来查找$keyarray中实际的item - number。

$array_keys = array_keys($keyarray);
$count =0;
foreach($array_keys as $element) {
    if (!strncmp('item_number', $element, strlen('item_number')))
        $count++;
}