im试图呼应我数组的最后值。由于某种原因,它没有打印任何东西。我可以回声一个特定值,例如
echo $array[0]['weight']
打印第一个值。
$query = "SELECT * FROM calorycalc2 WHERE userid = $id[0]";
$result1 = mysqli_query($db, $query) or die(mysqli_error());
$array = array();
while($row = mysqli_fetch_assoc($result1)) {
$array[] = $row;
}
echo end($array['weight']);
您需要获取外部数组$array
的最后一个元素,然后访问sub-index weight
。
请注意如何将支架更改到位。end($array)
获取最后一个元素,并且本身就是一个数组,您可以使用['weight']
echo end($array)['weight'];
通过像最初这样做的echo end($array['weight']);
一样,您要求PHP获取数组的最后一个元素,即$array['weight']
,但是$array
中没有这样的索引weight
(只有数字索引,$array[$x]
(。<</p>
如PHP文档end
中所述,返回数组中的最后一个条目,因此我可以从您的代码中猜出的是您想要此:
echo end($array)['weight'];
您正在使用的是使用密钥'weight'
$array['weight']
(我猜这是一个数字(访问条目,并将该值传递给end
函数。由于end
函数期望一个数组,而不是数字,这将导致错误。
您可以以这种方式访问数组的最后一个元素
echo $array[count($array)-1]['weight'];
查询中只有1行。因为您正在使用指定ID访问结果。在这种情况下,您无需循环查询。仅当您有多行结果时才需要。访问最后一个元素
$query = "SELECT * FROM calorycalc2 WHERE userid = $id[0]";
$result1 = mysqli_query($db, $query) or die(mysqli_error());
$array = array();
$row = mysqli_fetch_assoc($result1)
$i = 0;
while($row as $key=>$value) {
$array[$i] = $value;
$i++;
}
echo end($array);