这是一个非常简化的例子:
function getList<Tx>():Vector<Tx> {
$values = ['1','2','3','4','5'];
$list = Vector{};
foreach ($values as $value) {
$list->add((Tx) $value);
}
return $list;
}
例如,我知道$ values是数字的,来自数据库提取结果或其他任何东西,但存储为字符串。所以我想通过
将它们转换为intVector<int> $myList = $this->getList<int>();
但
不支持对象强制转换。尝试&#39; if($ var instanceof Tx)&#39;要么 &#39;不变($ var instanceof Tx,...)&#39;。 (命名[2055])
在这种情况下,我应该为不同类型使用两个函数,例如getListInt():Vector<int>
和getListString():Vector<string>
,还是我错过了什么?
答案 0 :(得分:-1)
就像一个解决方法,而不是真正的hacklang答案,但我只是尝试在mysql中解决它。为什么不直接在mysql查询中进行转换?
SELECT CONVERT(field_as_string,UNSIGNED INTEGER) AS num FROM table;
然后你的列表是一个整数列表,你可以将它添加到Vector。