确认下单 错误500
来源:13-3 通用电商下单服务+库存高并发控制逻辑实现(下)
切切在心
2017-12-13
确认下单后显示状态是错误500
var_dump($ret);也报了同样的错误
in E:\WWW\basic\common\services\PayOrderService.php:42
第42行是
$tmp_book_ids = array_column( $items,'target_id' );
-------------------------------------------------------------------------------------------------
要php5.5以上才能实现array_column函数,如果想在低版本兼容,可以使用。
public static function i_array_column($input, $columnKey, $indexKey=null){
if(!function_exists('array_column')){
$columnKeyIsNumber = (is_numeric($columnKey))?true:false;
$indexKeyIsNull = (is_null($indexKey))?true :false;
$indexKeyIsNumber = (is_numeric($indexKey))?true:false;
$result = array();
foreach((array)$input as $key=>$row){
if($columnKeyIsNumber){
$tmp= array_slice($row, $columnKey, 1);
$tmp= (is_array($tmp) && !empty($tmp))?current($tmp):null;
}else{
$tmp= isset($row[$columnKey])?$row[$columnKey]:null;
}
if(!$indexKeyIsNull){
if($indexKeyIsNumber){
$key = array_slice($row, $indexKey, 1);
$key = (is_array($key) && !empty($key))?current($key):null;
$key = is_null($key)?0:$key;
}else{
$key = isset($row[$indexKey])?$row[$indexKey]:0;
}
}
$result[$key] = $tmp;
}
return $result;
}else{
return array_column($input, $columnKey, $indexKey);
}
}写回答
1回答
-
500属于代码错误,要看自己php的版本支不支持一些函数
012017-12-14
相似问题