Php 查询提供一个包含多个元素的索引数组
我有这样的代码:Php 查询提供一个包含多个元素的索引数组,php,mysqli,Php,Mysqli,我有这样的代码: $ch = @new mysqli ($config['db']['host'],$config['db']['user'],$config['db']['password'],$config['db']['database']); if($result = $ch->query("SELECT pid FROM posts")) { while($pids = $result->fetch_assoc()) { var_dump($p
$ch = @new mysqli ($config['db']['host'],$config['db']['user'],$config['db']['password'],$config['db']['database']);
if($result = $ch->query("SELECT pid FROM posts"))
{
while($pids = $result->fetch_assoc())
{
var_dump($pids);
}
var_dump给了我:
array(1) { ["pid"]=> string(1) "1" } array(1) { ["pid"]=> string(1) "2" } array(1) { ["pid"]=> string(1) "3" } array(1) { ["pid"]=> string(1) "4" }
我有两个问题:
因此,我不能使用max(),因为它提供了所有记录(4321)。您有4条记录。检查正确。
var\u dump()
执行四次,返回单个数组(列-行值):
如果希望所有内容都包含在单个变量中,请使用:
$allPids = array();
while (false != ($pids = $result->fetch_assoc())) {
$allPids[] = $pids;
}
var_dump($allPids);
首先需要将它们存储在一个
数组中
while($pids = $result->fetch_assoc())
{
$array[] = $pids;
}
var_dump($array);
对于数据类型PHP将相应地强制转换它们。正确解释您的问题!!它给了我类似于array(1){[0]=>array(1){[“pid”]=>string(1)“1”}array(2){[0]=>array(1){[“pid”]=>string(1)“1”}[1]=>array(1){[“pid”]=>string(1){[0]=>array(1){[“pid”]=>string(1)}[1]=>string(1){“pid”=>string(1)“2”=>string(1)}>数组(4){[0]=>数组(1){[“pid”]=>字符串(1)“1”}[1]=>数组(1){[“pid”]=>字符串(1)“2”}[2]=>数组(1){[“pid”]=>字符串(1)“3”}[3]=>数组(1){[“pid”]=>字符串(1)“4”}
@tomaszimiński更改为$allPids[]=$pid[]
并且您可以使用max
函数,如max($allPids)代码>$allPids[]=$pids['pid']代码>echo max($allPids)代码>它给出了查询(1234)中的所有pid@TomaszSiemiński刚刚看到它正在获取字符串值。使用$allPids[]=intval($pids[“pid”])代码>并且请不要在接受后拒绝接受。只有当人们没有回应时才去做。当人们忙于日常工作时,请尊重他们帮助你的时间。对此表示歉意。我用过它,它们现在是int的,但是max()
仍然给我所有的。
while($pids = $result->fetch_assoc())
{
$array[] = $pids;
}
var_dump($array);