= 2) { $goodsNum = $goodsIDArr[1]; } $priceID = $priceArr[0]; $priceNum = $priceArr[1]; $specailPrice = 0; $limitType = 0; if($discountStrArr) { $len1 = count($discountStrArr); if($len1 > 0) { $specailPrice = $discountStrArr[$i]; } } if($limitStrArr) { $len1 = count($limitStrArr); if($len1 > 0) { if($len1 > $i) { $limitType = $limitStrArr[$i]; } } } $itemInfo = array("goodsID"=>$goodsID,"goodsNum"=>$goodsNum, "priceID"=>$priceID,"priceNum"=>$priceNum, "specailPrice"=>$specailPrice,"limitType"=>$limitType); self::$itemArr[$itemInfo['goodsID']] = $itemInfo; } } } $itemData = null; if(self::$itemArr[$itemID]) { $itemData = self::$itemArr[$itemID]; } return $itemData; } public static function getGoodsInfo($meta, $goodsId) { $goodsStrArr = explode("|", $meta['goods']); $priceStrArr = explode("|", $meta['price']); if (count($goodsStrArr) != count($priceStrArr)) { return null; } $idx = -1; { $i = 0; array_filter($goodsStrArr, function($str) use(&$i, &$idx, $goodsId) { if ($idx != -1) { $strArr = explode(":", $str); if (count($strArr) >= 2) { if ($strArr[0] == $goodsId) { $idx = $i; return true; } } } ++$i; return false; }); } if ($idx <= 0) { return null; } $info = array( 'goodsId' => 0, 'goodsNum' => 0, 'costItemId' => 0, 'costItemNum' => 0 ); { $strArr = explode(":", $goodsStrArr[$idx]); $info['goodsId'] = $strArr[0]; $info['goodsNum'] = $strArr[1]; } { $strArr = explode(":", $priceStrArr[$idx]); if (count($strArr) < 2) { return null; } $info['costItemId'] = $strArr[0]; $info['costItemNum'] = $strArr[1]; } return $info; } protected static $itemArr; protected static $meta; }