2015-06-29 3 views
1

У меня есть элемент хранящийся следующим образом:PHP: Получить элемент массива

while($row = $result->fetch_assoc()) { 
    echo "<tr><td>" . $row["data"]. "</td></tr>"; 
    $data1= floatval($row["data"]); 
    ... 

Это значение извлекается из базы данных MySQL, и, таким образом, он хранится таким образом. Если я хочу получить значение итерации, скажем, «i», это легко, так как мне не нужно ничего делать, но как я могу получить следующее значение для выполнения выражения? То есть data2 - data1? Я думал о чем-то подобном $ row ["data"] [i], но я не уверен, что он сработает. Благодаря!

ответ

0

Как вы можете видеть в руководстве по эксплуатации fetch_assoc, эта функция выбирает только одну строку за раз, поэтому мы используем цикл. То же самое касается fetch_array и fetch_row.

mysqli_result :: FETCH_ASSOC - mysqli_fetch_assoc - извлекает результирующий ряд как ассоциативный массив

Единственное решение, которое я могу думать о том, чтобы цикл, который массива и хранить эти данные в другой массив в соответствии с вашими требованиями, например:

$customArr = array(); 
$i = 0; //counter. 
while($row = $result->fetch_assoc()) { 
    echo "<tr><td>" . $row["data"]. "</td></tr>"; 
    $data1= floatval($row["data"]); 
    $customArr[$i] = array('id' => $row['id'], 'date' => $date1); 
} 

Позже, если вы хотите, чтобы сравнить значения в массиве следует использовать while и индекс на основе сценариев, как $customArr[$i-1], $customArr[$i]. Просто убедитесь, что вы проверяете смещение.

$i = 0; 
while($i < count($customArr)){ 

} 
+0

Спасибо! Я дам ему попробовать :) –

+0

Какова полезность поля ID? Благодарю. –

+0

Я просто добавил его в качестве примера, вам не нужно его использовать. Но в случае, если вы хотели бы упомянуть идентификатор этой строки или ссылку на этот элемент. –

Смежные вопросы