我正在修改FedEx的API文件以适应我的网站,我正在努力根据包的总数使定义动态化。
$totalPackages = 4;
for($i=1; $i<=($totalPackages-1); $i++) {
define('SHIP_CHILDLABEL_'.$i, 'shipchildlabel_'.$i.'pdf');
}
稍后在文件中......
for($i=1; $i<=($totalPackages-1); $i++) {
$fp = fopen(SHIP_CHILDLABEL_.$i, 'wb');
fwrite($fp, ($childResponse->CompletedShipmentDetail->CompletedPackageDetails->Label->Parts->Image));
fclose($fp);
echo '<a href="./'.SHIP_CHILDLABEL_.$i.'.pdf">'.SHIP_CHILDLABEL_.$i.'</a> was generated';
}
当然,这会导致fopen引用SHIP_CHILDLABEL_1.pdf,SHIP_CHILDLABEL_2.pdf和SHIP_CHILDLABEL_3.pdf而不是shipchildlabel_1.pdf,shipchildlabel_2.pdf和shipchildlabel_3.pdf。如何正确地使这些定义动态化?
答案 0 :(得分:3)
答案 1 :(得分:1)
尝试使用“常量”指令来处理动态常量名称(定义)。
例如:
$i = 1;
define("CONSTANT_".$i, 123);
echo constant("CONSTANT".$i);
这样就可以了。
此致