2013-03-25 87 views
-4

元素位置我尝试让我的数组元素的位置,但这个不行, 这是我的代码:PHP获得阵列

<?php 
function getWorldRank(){ 
$query = ("SELECT nickname FROM users ORDER BY score, updateDate Desc "); 

mysql_query("SET NAMES 'utf8'"); 

//GOES TO THE DB WITH THE QUERY 
$result = mysql_query($query); 

//CHECKS IF THE QUERY IS LEGAL 
if(!$result) 
return false; 

//CHECKS IF THERE ARE NO ROWS FOUND IN THE TABLE 
if(mysql_num_rows($result)==0) 
return false; 

    while($row = mysql_fetch_array($result, MYSQL_ASSOC)) 
    { 
     $returned_array[] = $row; 
    } 
    return $returned_array; 

     } 

     $a=getWorldRank(); 



    echo $key = array_search('vvvv', $a); 
    echo $key = array_search('bbbb', $a); 

?> 
+0

所以你写缺陷代码,并希望我们能够解决您的错误的吗?这不是它的工作原理 – zerkms 2013-03-25 22:44:24

+0

$ a是一个数组数组。您需要在$ a中搜索每个数组,而不是$ a本身。 – kainaw 2013-03-25 22:45:21

+0

你回来之前你的array_search ... – greg 2013-03-25 22:45:23

回答

1

试试这个:

function getWorldRank() { 
    $query = ("SELECT nickname FROM users ORDER BY score, updateDate Desc "); 
    mysql_query("SET NAMES 'utf8'"); 

    //GOES TO THE DB WITH THE QUERY 
    $result = mysql_query($query); 

    // CHECKS IF THE QUERY IS LEGAL 
    if(!$result) { 
    return false; 
    } 

    // CHECKS IF THERE ARE NO ROWS FOUND IN THE TABLE 
    if(!mysql_num_rows($result)) { 
    return false; 
    } 

    $returned_array = array(); 

    while($row = mysql_fetch_assoc($result)) { 
    $returned_array[] = $row['nickname']; 
    } 
    return $returned_array; 
} 

$a = getWorldRank(); 

if(!$a) { 
    print 'No results returned by database'; 
} else { 
    echo 'vvvv key: ' . array_search('vvvv', $a); 
    echo 'bbbb key: ' . array_search('bbbb', $a); 
} 
+1

已修复,现在就试试.. – 2013-03-25 22:52:22

0

你想改变一个行:

$returned_array[] = $row; 

$returned_array[] = $row['nickname']; 

然后你将返回一个数组,而不是数组数组。