$sub_value) { if (isset($key_array[$sub_key])) { // если такой ключ в базовом массиве (массиве ключей) есть, то заменим новым, иначе просто удалим $new_key = $key_array[$sub_key]; if( !array_key_exists( $new_key , $res ) ){ $res[ $new_key ] = $value[$sub_key]; } } unset( $res[$sub_key] ); $value = $res; } }, $key_array); return $value_arr; } /** * @param $value_arr - двумерный массив к которому нужно добавить колонки * @param $add_array - массив с колонками (ключи) и значениями колонок * @return mixed */ public function addColumns ( array $value_arr , array $add_array ) { $i = 0; while ($i < count($value_arr)) { foreach ($add_array as $add_key => $add_value) { $value_arr[$i][$add_key] = $add_value; } $i++; } return $value_arr; } public static function convertToDetails ( array $row ) { // присвоим полный артикул $row['FULL_ARTICLE'] = $row['ARTICLE']; $details_model = new Details(); // проверим все ли обязательные колонки были указаны пользователем $details_model->load(['Details' => $row]); if (!$details_model->validate()){ $errors = ''; foreach ( $details_model->errors as $key => $arr_errors ) { $errors .= "Аттрибут $key - " . implode( ' , ', $arr_errors ); } throw new \ErrorException( $errors ); } return $row; } public function ConvertToMultiply ( array $row ) { $PRICE = $row[ 'PRICE' ]; $sign = self::$sign; $multiplier = self::$multiplier; //CustomVarDamp::dumpAndDie(self); if (isset($sign)) { if ($sign == '+') { if ($multiplier > 0) { $PRICE += $multiplier; } } else if ($sign == '-') { if ($multiplier > 0) { $PRICE -= $multiplier; } } else if ($sign == '*') { if ($multiplier > 0) { $PRICE *= $multiplier; } } else if ($sign == '/') { if ($multiplier > 0) { $PRICE /= $multiplier; } } } $row[ 'PRICE' ] = $PRICE; return $row; } }