Попробуйте:
$row = mysqli_fetch_assoc($result);
echo "my result <a href='data/" . $row['classtype'] . ".php'>My account</a>";
Splatting еще не на языке , что подтверждается разработчиками. Обходным решением для этого является использование перегрузки или ожидание, если вы не можете добавить перегрузки.
Вы можете использовать вспомогательную функцию как таковую:
func sumOf (numbers : [Int]) -> Int { return numbers.reduce(0, combine: +) }
func sumOf (numbers : Int...) -> Int { return sumArray (numbers) }
Я знаю, что этот ответ не отвечает на ваш точный вопрос, но я считаю его достойным внимания. Я тоже начал играть со Свифтом и сразу столкнулся с подобным вопросом. Ответ Manojlds лучше для вашего вопроса, я согласен, но опять же, еще одно обходное решение, с которым я столкнулся. Мне тоже нравится, как и у Логана.
В моем случае я просто хотел передать массив:
func sumOf(numbers: Array<Int>) -> Int {
var sum = 0
for number in numbers {
sum += number
}
return sum
}
var someNums = [8,7,2,9,12]
sumOf(someNums)
sumOf([10, 15, 20])
Просто хотел поделиться, на тот случай, если кто-то думал, как я , Большую часть времени я бы предпочел передать массив, как это, но я не думаю, что «Быстро» еще. :) [/ Д2]
Вы можете использовать функцию:
typealias Function = [Int] -> Int
let sumOfArray = unsafeBitCast(sumOf, Function.self)
sumOfArray([1, 2, 3])
Вот работа, которую я нашел. Я знаю, что это не совсем то, что вы хотите, но, похоже, оно работает.
Шаг 1: Объявите функцию, которая вам нужна, вместо массивного аргумента:
func sumOf(numbers: [Int]) -> Int {
var total = 0
for i in numbers {
total += i
}
return total
}
Шаг 2: Вызовите это из вашей вариационной функции:
func sumOf(numbers: Int...) -> Int {
return sumOf(numbers)
}
Шаг 3: Позвоните любым путем:
var variadicSum = sumOf(1, 2, 3, 4, 5)
var arraySum = sumOf([1, 2, 3, 4, 5])
Кажется странным, но он работает в моих тестах , Дайте мне знать, если это вызовет непредвиденные проблемы для всех. Кажется, что Swift разделяет разницу между двумя вызовами с тем же именем функции.
Также, если этот метод будет обновлен, если Apple обновит язык, как подсказывает @ manojid, вам нужно будет только обновить эти функции. В противном случае вам придется пройти и много переименовать.
Я сделал это (Wrapper + Identity Mapping):
func addBarButtonItems(types: REWEBarButtonItemType...) {
addBarButtonItems(types: types.map { $0 })
}
func addBarButtonItems(types: [REWEBarButtonItemType]) {
// actual implementation
}