diff --git a/php/traits/trait-params.php b/php/traits/trait-params.php index 8b9411dfb..7b8e7e715 100644 --- a/php/traits/trait-params.php +++ b/php/traits/trait-params.php @@ -53,10 +53,15 @@ protected function set_param_array( $parts, $param, $value ) { return $new; } - if ( '' === $key ) { - $new[] = $value; + if ( is_array( $new ) ) { + if ( '' === $key ) { + $new[] = $value; + } else { + $new[ $key ] = $value; + } } else { - $new[ $key ] = $value; + // There's likely a problem here, as we're setting an array key on a non-array. + $new = array(); } // @TODO: I took ksort out, need to check that it doesn't have any problems being.