我正在尝试回显数组的最后一个值。由于某种原因,它没有打印任何内容。我可以回显特定值,例如
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']);
答案 0 :(得分:2)
如php docs end
中所述,返回数组中的最后一个条目,因此我可以从您的代码中猜出是您想要的:
echo end($array)['weight'];
您正在做的是使用键'weight'
$array['weight']
(我猜这是一个数字)访问条目并将该值传递给end
函数。由于end
函数需要一个数组而不是一个数字,因此将导致错误。
答案 1 :(得分:2)
您需要获取外部数组$array
的最后一个元素,然后然后访问子索引weight
。
注意如何更改括号。 end($array)
获取最后一个元素,该元素本身是一个数组,您可以使用['weight']
echo end($array)['weight'];
通过像原来一样执行echo end($array['weight']);
,您正在要求PHP提取数组的最后一个元素$array['weight']
,但是没有这样的索引weight
( $array[$x]
中只有数字索引$array
。
答案 2 :(得分:0)
您可以通过这种方式访问数组的最后一个元素
MODE="$(cat /etc/config/wireless | sed -n 's/\s*\(option mode.*\)/\1/p'"
答案 3 :(得分:0)
查询中只有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);