捷哥麻烦问一下 我自己写 array_count_values函数 为什么会有 notice
来源:8-4 模拟内置函数实现考察点
hallo_monde
2018-04-09
<?php
$a = [1, 2, 3, 1, 1, 2, 3, 4, 5, 2, 2, 3, 4, 5, 6, 77, 7, 7, 7, 7, 2, 1, 2, 2, 2, 3, 3, 4, 5, 6, 7];
$b = [];
$length = count($a);
for ($i = 0; $i < $length; $i++) {
if ($b[$a[$i]])
$b[$a[$i]]++;
else
$b[$a[$i]] = 1;
}
foreach ($b as $key => $value) {
echo "$key=>$value" . "<br/>";
}
var_dump($b);基础代码逻辑是上面的 就是不知道为什么 一直会报
( ! ) Notice: Undefined offset: 1 in C:\wamp64\www\data\array\test2.php on line 11 的错
写回答
2回答
-
是这样,最初定义$b的时候,我们并没有定义$b内的元素,所以如果我们要做判断或者是修改操作,就会报出Notice错误,不过这个不用担心,本身Notice错误级别可以被忽略,因为PHP本身作为弱类型语言,这个错误可以被忽略,可以修改错误级别进行修改,修改php.ini的error_reporting或者调用函数error_reporting函数
00 -
纸短情长阿
2018-04-12
if ($b[$a[$i]])
这一行改为
if(isset(i$b[$a[$i]]))
00
相似问题