[英]Easier way of doing this?
我有这个代码
public function getList()
{
$array = array();
$r = mysql_query( "SELECT * FROM hobby ORDER BY hobby_name ASC" );
while( $ro = mysql_fetch_object( $r ) )
{
array_push( $array , $ro );
}
if ( count( $array ) > 0 )
return $array;
else
return false;
}
并且想知道是否有更简单的方法吗?
此代码首先从数据库中获取所有内容,将其推入阵列,检查其计数并返回数组或false。
当我把它放到我的$数组中时,我需要对这个对象进行预测。
你应该返回一个空数组而不是false,然后你可以通过foreach运行它而不会产生PHP错误。 您可以进一步使用$array[] =
而不是array_push()
:
public function getList()
{
$array = array();
$r = mysql_query( "SELECT * FROM hobby ORDER BY hobby_name ASC" );
while( $ro = mysql_fetch_object( $r ) )
{
$array[] = $ro;
}
return $array;
}
我可能会像你提出的那样做。
我会改变一件事:而不是:
array_push( $array , $ro );
我会讨论使用:
$array[] = $ro;
避免函数调用,在这种情况下似乎无用(两种语法都应该相同)。
此外,我总是返回一个数组:该函数被称为“ getList
”,因此,在我看来,它应该返回...列表。
即使没有元素,它也应该返回一个空列表(即空array
),而不是布尔值false
。
这也意味着您可以只返回$数组,而不必计算它包含的元素数量; 所以,我想我最终会得到这样的东西:
public function getList()
{
$array = array();
$r = mysql_query( "SELECT * FROM hobby ORDER BY hobby_name ASC" );
while( $ro = mysql_fetch_object( $r ) )
{
$array[] = $ro;
}
return $array;
}
$r = mysql_query("SELECT * FROM hobby ORDER BY hobby_name ASC");
return mysql_num_rows($r) > 0 ? return mysql_fetch_array($r) : false;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.