我有一个名为Person的类,它有getter和setter,我想知道如何从数据层返回List。在C#中,我使用List,我可以返回列表,但在PHP中,我不知道如何。
function AllPersons()
{
try
{
$objConn = new Connection();
$conn = $objConn ->Connect();
$sql = "SELECT * FROM PERSON";
$answer= mysqli_query($cn, $sql);
if(mysqli_num_rows($answer) > 0)
{
while($row = mysqli_fetch_array($answer))
{
/*here i want to do something like in C#
List<Person>listPerson;
listPerson.add(objPerson);*/
}
}
else
{
return null;
}
}
catch (Exception $e)
{
//FB::log("nada");
}
}
答案 0 :(得分:3)
在PHP数组中,替换使用.NET中使用的列表/数组。 归结为突变时,它们非常灵活。
在这种情况下,你可能会接近它:
;WITH CTE AS
(
SELECT TOP 1 zone
FROM @T
WHERE zone IN (3,2)
AND @Value >= start
AND @Value <= [end]
ORDER BY CASE WHEN zone = 3 THEN 0 ELSE 1 END
)
SELECT zone
FROM CTE
UNION ALL
SELECT NULL
WHERE NOT EXISTS(
SELECT 1
FROM CTE
)
答案 1 :(得分:2)
创建一个数组并填充它。
listPerson = [];
while($row = mysqli_fetch_array($answer)) {
listPerson[] = new Person($row);
}
答案 2 :(得分:1)
列表是C#中的无量纲数组(也可以在维度中使用)。 PHP中的数组也是无量纲的。所以你可以使用数组。
...
$listPerson = array();
while($row = mysqli_fetch_array($answer))
{
$listPerson[] = objPerson;
}
...
答案 3 :(得分:-2)
function AllPersons()
{
try
{
$objConn = new Connection();
$conn = $objConn ->Connect();
$sql = "SELECT * FROM PERSON";
$answer= mysqli_query($cn, $sql);
if(mysqli_num_rows($answer) > 0)
{
while($row = mysqli_fetch_array($answer))
{
print_r($row);
}
}
else
{
return null;
}
}
catch (Exception $e)
{
//FB::log("nada");
}
}