嘿伙计们我累了,无法想出这个,所以任何帮助都会受到赞赏。
我从数据库表中获得了一个名为$ Row的数组。
当我运行var_dump($Row);
时,我得到以下内容:
array
0 => string '1' (length=1)
'id' => string '1' (length=1)
1 => string 'erik' (length=4)
'username' => string 'erik' (length=4)
2 => string 'd95eb19a15301089985ad6fd6ecbf2d7' (length=32)
'password' => string 'd95eb19a15301089985ad6fd6ecbf2d7' (length=32)
3 => string '' (length=0)
'email' => string '' (length=0)
4 => string '0' (length=1)
'date_join' => string '0' (length=1)
5 => string '0' (length=1)
'date_mod' => string '0' (length=1)
6 => string '1' (length=1)
'active' => string '1' (length=1)
7 => string '1' (length=1)
'admin' => string '1' (length=1)
8 => string '0' (length=1)
'deleted' => string '0' (length=1)
当我运行echo count($Row);
时,我获得了值18
。
Count和var_dump彼此相邻,没有修改$ Row。
问题:当Count()
显示的$ Row中只有8
个var_dump()
时,为什么count()
会返回18?我想我只是不理解array
0 => string '1' (length=1)
1 => string 'erik' (length=4)
2 => string 'd95eb19a15301089985ad6fd6ecbf2d7' (length=32)
3 => string '' (length=0)
4 => string '0' (length=1)
5 => string '0' (length=1)
6 => string '1' (length=1)
7 => string '1' (length=1)
8 => string '0' (length=1)
...我查了http://php.net/manual/en/function.count.php,但仍然没有理解......
编辑:我知道什么是错的知道,谢谢大家。另一个问题。如何删除字符串中的字符串,例如我想要这种表:
{{1}}
* 我正在使用mysql_fetch_array()来检索数据并将其放入表中。
答案 0 :(得分:2)
你有混合数组整数和关联,并有18个元素。我认为这是从mysql_fetch_array
返回的,默认情况下返回关联和数字索引数组。
答案 1 :(得分:1)
因为你的字符串也是$Row
中的值,所以它们似乎因为字符串char而缩进。
这意味着
'id' => string '1' (length=1)
'username' => string 'erik' (length=4)
'password' => string 'd95eb19a15301089985ad6fd6ecbf2d7' (length=32)
// ...
也在您的数组中
答案 2 :(得分:1)
实际上,你的数组确实有18个元素:
0
到8
(总共9个元素)id
,username
,...另外9个元素9 + 9 = 18
如果您只想要数字索引,并假设您正在使用MySQL:
$Row = mysql_fetch_array($result, MYSQL_NUM)
答案 3 :(得分:1)
因为你正在从你的数据库中获取一个关联和数字结果集的混合(你可以使用FETCH_ASSOC或类似的函数精确地确定哪一个你的dbvendor_query()函数)。
阵列中有18个元素。
答案 4 :(得分:1)
我认为应用计数:
0 => string '1' (length=1)
'id' => string '1' (length=1)
返回2而不是1!
0和id是数组的两个不同项! 这取其他8个元素使计数返回18