2014-10-11 22 views
1

这是我的PHP脚本。我想要做的是按键排列响应数组。我希望通过排序数组的关键是该行的一个组件。为了更好地阐明,说行包含一个字符串和一个int类型的对象。我如何使用int对象作为关键字对数组进行排序?我已经看过ksort()并了解如何使用它,但我不确定如何以我尝试的方式使用它。上述按行值对数据库行数组排序

<?php 

// array for JSON response 
$response = array(); 


$host = "localhost"; //server 
$db = "Test"; //database name 
$user = "root"; //dabases user name 
$pwd = "xxxxxxx"; //password 


    $link = mysqli_connect($host, $user, $pwd, $db); 
    $result = mysqli_query($link, "SELECT * FROM Table"); 


    // check for empty result 
    if (mysqli_num_rows($result) > 0) 
    { 

     $response["stuff"] = array(); 
     $event = ""; 

     while ($row = mysqli_fetch_array($result)) { 

      $event = $row; 
      $response[] = event; 

     } 

     //Here I wish to sort the array by the int object as key. 
    $response["success"] = 1; 

    echo json_encode($response); 
} 
?> 
+3

你想使用PHP排序?不只是通过查询排序,mysql已经具备了这个功能 – Ghost 2014-10-11 04:49:46

+0

chkout这个例子... http://stackoverflow.com/questions/7179677/order-by-xxx-sort-by-asc-or-desc-dynamic-订购-mysql – 2014-10-11 04:56:36

+0

@superuserdo确信男人没有问题 – Ghost 2014-10-11 05:40:40

回答

0

的意见可能会回答这个具体的要求,但我想也描述了如何像问题海报要排序PHP数组:

选择的方法是不ksort()(排序键),但
usort (&$array, $value_compare_func)(由用户定义的回调排序):

usort($response['stuff'], function($a, $b) { 
    return $a['integer'] - $b['integer']; 
}); 

当闭合功能是使用阵列成员作为操作数(一个简单的整数比较与重要0在本例中为)。
当比较其他类型的值时,比较功能应适应以满足usort()的要求。例如。对于字符串,可以使用strcmp()