我正在尝试访问多维数组中的特定值,但是我收到了一个未定义的索引错误。
这是我的代码:
$hasil_ringkasan=array();
foreach ($hasil_kelas as $key => $value) {
$mayoritas = array_count_values($value);
if($mayoritas['ringkasan']>1){
array_push($hasil_ringkasan,$key);
}
}
以下是 $hasil_kelas :
Array
(
[0] => Array
(
[0] => ringkasan
[1] => ringkasan
[2] => bukan
)
[1] => Array
(
[0] => ringkasan
[1] => ringkasan
[2] => ringkasan
)
[2] => Array
(
[0] => ringkasan
[1] => ringkasan
[2] => ringkasan
)
)
但是为什么当我运行我的第一个代码时出现错误" Message: Undefined index: ringkasan
"即使条件成功执行了吗?
我的预期输出如下:
Array(
[0] => 0
[1] => 1
[2] => 2
[3] => 4
[4] => 8
[5] => 9
[6] => 11
[7] => 14
[8] => 16
[9] => 19
[10] => 20
)
答案 0 :(得分:1)
测试ringkasan
是否存在
$hasil_ringkasan=array();
foreach ($hasil_kelas as $key => $value) {
$mayoritas = array_count_values($value);
if(isset($mayoritas['ringkasan']) && $mayoritas['ringkasan']>1){
array_push($hasil_ringkasan,$key);
}
}
答案 1 :(得分:1)
如果任何数组没有元素ringkasan
,则表示它将通过undefined
errro
,因此请使用isset
进行检查
示例:
`[0] => Array
(
[0] => bukan
[1] => bukan
[2] => bukan
)`
在上面的示例中,您将获得
array(['bukan']=>3); //so here is no ringkasan key .
因此,使用isset
检查变量是否存在,然后进行比较
if(isset($mayoritas['ringkasan']) && $mayoritas['ringkasan']>1)
{
array_push($hasil_ringkasan,$key);
}