我正在尝试创建一个包含数据库中所有成员的成员列表,但是它们是以名称为基础的。因此,我尝试在打印之前将姓氏放在首位。
为此,我编写了这个函数:
function surname($name){
$exploded = explode(" ", $name);
$num = count($exploded);
$move = $exploded[$num - 1];
unset($exploded[$num - 1]);
array_unshift($exploded, $move);
$name = implode(", ", $exploded);
return $name;
}
在使用它的同时,我正在尝试制作一系列正确称呼的人。(因为mysql是按名字排序的,而不是姓氏,所以我想把数组排序在后面)
$names = array();
$sql = "SELECT * FROM Members";
$self = mysql_query($sql);
while ($row = mysql_fetch_array($self)) {
$name = $row["name"];
$name = surname($name);
array_push($names, $name);
}
echo $names;
然而,这并没有回馈任何东西,我认为这是因为每个循环都会重新制作数组。
所以我的问题是,这是一种有效的方法还是我必须做一些完全不同的事情?
请帮忙。