PHP 2-мерный массив получить значение? - PullRequest
0 голосов
/ 11 февраля 2011
$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?      
    }
}

Ответы [ 2 ]

2 голосов
/ 11 февраля 2011

Вы уже используете идентификатор для индексации массива.

Просто используйте:

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

EDIT : добавлена ​​проверка isset и уменьшено количество обращений ктот же элемент массива

0 голосов
/ 11 февраля 2011

Вы, похоже, используете идентификатор пользователя в качестве индекса пользователя в массиве. Если это так, вам не следует использовать цикл 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";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...