0
我目前已经有EasyPost创建货件。当我创建货物时,它为我提供了所有可用的服务和费率。获取特定服务的费率 - EasyPost
我想动态选择服务,只返回该速率。
我最初会通过使用索引号读取数组(我猜如何描述它)。
这样做的问题是每次创建新货件时,费率数组顺序都会发生变化,因此将显示$ shipment-> rates [0] ['rate'],然后下一次首先类。
我想用“Express”创建一个货件并且只返回那个价格。
任何意见,将不胜感激。
这里是我的代码:
$name = $this->thiscustomer->cust_first . ' ' . $this->thiscustomer->cust_first;
$street_1 = $this->thiscustomer->street_1;
$street_2 = $this->thiscustomer->street_2;
$city = $this->thiscustomer->city;
$state = $this->thiscustomer->state;
$zip = $this->thiscustomer->zip;
$weight = $this->weight;
$packaging = $this->packaging;
$service = $this->service;
$caddress = $this->consultant->address;
$cstreet_1 = $this->consultant->street_1;
$cstreet_2 = $this->consultant->street_2;
$ccity = $this->consultant->city;
$cstate = $this->consultant->state;
$czip = $this->consultant->zip;
$cname = $this->consultant->first_name . ' ' . $this->consultant->last_name;
$cuser_id = $this->consultant->user_id;
require_once(dirname(__FILE__) . '/lib/easypost.php');
\EasyPost\EasyPost::setApiKey('KUk4fZUI6YaYc1h0FiIXFw');
$shipment = \EasyPost\Shipment::create(array(
'to_address' => array(
"name" => $name,
"street1" => $street_1,
"street2" => $street_2,
"city" => $city,
"state" => $state,
"zip" => $zip
),
'from_address' => array(
"company" => $cname,
"street1" => $cstreet_1,
"street2" => $cstreet_2,
"city" => $ccity,
"state" => $cstate,
"zip" => $czip
),
'parcel' => array(
'weight' => $weight,
'predefined_package'=> $packaging
),
'rates' => array(
'service' => $service
)
));
echo $shipment->rates[0]['rate']. '<br>';
我不想买它,直到我知道是什么率是。 – foxtangocharlie
在这种情况下,你只需要做一些数组过滤。除了选择运营商(您可以使用carrier_accounts字段),这些详细信息是业务逻辑,EasyPost有意避开其便捷方法,以便您确切地确定您想要的内容。见http://php.net/manual/en/function.array-filter.php – KFunk