为什么算数会返回22而不是11?

nik*_*iko 0 php

这是我的PHP脚本

$result = mysql_query("SELECT * FROM photos WHERE perID=2");
$row = mysql_fetch_array($result);
$a = count($row);                     // or sizeof($row)
echo $a;       //outputs 22 but i expect it to be 11 but why does it output 22 ?
Run Code Online (Sandbox Code Playgroud)

这是mysql中的数据.

perID   one    two   three   four    five    six    sev    eit   nine  ten
  2    1.jpg  2.jpg  3.jpg   4.jpg   5.jpg  6.jpg  7.jpg  8.jpg  9.jpg 10.jpg
Run Code Online (Sandbox Code Playgroud)

我希望它是11,但令人惊讶的是它22.有人可以解释我为什么吗?它在count函数中是否也包含'one''2'(列名)?因为只有它包含它们才会是22.

但它不应该包括表的列部分,因为它们是标题对吗?请帮助我这些任何帮助非常感谢

也请给我一个链接或结果达到11的方式

Mar*_*c B 7

mysql_fetch_array()默认返回组合的关联AND索引数组结构.

SELECT a,b,c FROM table
Run Code Online (Sandbox Code Playgroud)

将生成一个行数组

$row = array(0 => 'value of a', 'a' => 'value of a', 1 => 'value of b', etc...);
Run Code Online (Sandbox Code Playgroud)

您可以通过指定可选的fetch_mode参数强制它执行一个或另一个:

$row = mysql_fetch_array($result, MYSQL_BOTH); // default mode
$row = mysql_fetch_array($result, MYSQL_ASSOC); // same as mysql_fetch_assoc: associative array
$row = mysql_fetch_array($result, MYSQL_NUM); // same as mysql_fetch_row: indexed array
Run Code Online (Sandbox Code Playgroud)