как получить следующее значение массива в PHP - PullRequest
0 голосов
/ 09 сентября 2018

Я хочу, чтобы когда пользователь вводил число, если число было в базе данных, получал следующее значение из массива
Я хочу получить следующее значение из текущего значения в массиве, но этот код идет первым из массива

    if ($value['number'] == $number) {

            $result = mysqli_query( $con,"SELECT user_name FROM tbl_users WHERE  user_name ='".$value['name']."'" );
            if ($result && mysqli_num_rows($result) > 0) {

                $iter = new \ArrayIterator($data);
                $iter->next();
                $nextKey = $iter->key();
                $nextValue = $iter->current();
                $user_id = $value['number'];
                $user_name = $value['name'];

            } 
        }

Ответы [ 2 ]

0 голосов
/ 09 сентября 2018

Я думаю, что ваша проблема в итераторе, но вам не нужно

Изменить это:

$iter = new \ArrayIterator($data);
$iter->next();
$nextKey = $iter->key();
$nextValue = $iter->current();
$user_id = $value['number'];
$user_name = $value['name'];

для этого:

/* This will return an array with "key" and "value" items and advance the array curson one item */
$nextValue = each($data); 
print $nextValue["key"];
print $nextvalue["value"];
0 голосов
/ 09 сентября 2018

Это не способ зацикливаться на mysqli результате ( php documentmantation ). вы должны попробовать это так:

while ($row = mysqli_fetch($result)) {
   $user_id = $row['number'];
   $user_name = $row['name'];
   // do what ever you need with those value
}

(также ваш $data var в вопросе не определен)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...