2011-02-11 102 views
0
$useridtofind= 123; 

$users=array(); 

while ($data = mysql_fetch_array ($result)) 
{ 

     $userid = $data['userid']; 
    $age = $data['age']; 
    $gender = $data['gender']; 
    $dob = $data['dob']; 

    $users[$userid] => array(
     'age'=> $age, 
     'gender'=> $gender, 
     'dob' => $dob 
     ) 
} 


$useridtofind=123; 

for($v=0; $v< count($users); $v++) 
{ 
    if($users[$v]== $useridtofind) 
    { 
     //how to go with grab value of age, gender, dob here?  
    } 
} 

回答

0

您似乎將用戶標識用作數組中用戶的索引。如果是這樣的話,你不應該使用for循環,你應該檢查,如果該鍵的陣列中存在:

$useridtofind = 123; 

if (array_key_exists($useridtofind, $users)) { 
    $user = $users[$useridtofind]; 

    echo "User exists: ", $user['age'], '/', $user['gender'], '/', $user['dob']; 
} else { 
    echo "User doesn't exist"; 
} 
2

你已經使用id索引數組。

只需使用:

if (isset($users[$usertofind])) { 
    $user = $users[$usertofind]; 
    echo $user['age']; 
    echo $user['dob']; 
    echo $user['gender']; 
} 

EDIT:添加isset檢查和減少的次引用相同的數組元素