PHP中数组中未定义的offet错误

PHP中数组中未定义的offet错误,php,arrays,Php,Arrays,我有个问题,请帮帮我 这是我的阵列 Array ( [0] => subject7 [1] => subject6 [2] => subject5 [3] => subject3 [4] => subject2 ) 我的数组大小是5 $sub= array(); for($j=0; $j<=$size; $j++) { $sub[] = $subject_value[$s

我有个问题,请帮帮我

这是我的阵列

Array
(
    [0] => subject7
    [1] => subject6
    [2] => subject5
    [3] => subject3
    [4] => subject2
)
我的数组大小是5

$sub= array();
        for($j=0; $j<=$size; $j++)
        {
        $sub[] = $subject_value[$subject[$j]];

        }
$sub=array();
对于($j=0;$jdo


for($j=0;$j发生错误是因为数组中没有第5个元素

$sub= array();
        for($j=0; $j<$size; $j++)
        {
        $sub[] = $subject_value[$subject[$j]];

        }
$sub=array();
对于($j=0;$j您正在使用
更改

$j<=$size

$j为了避免此类常见错误,可以使用foreach循环:

foreach($subject as $item){
    //work here
}
这样,您就永远不会尝试访问不存在的元素(在您的例子中是$subject[5])。

$sub=array();

对于($j=0;$j),您的数组中没有[5]元素,您必须提供更多信息:什么是
$size
,您使用的两个数组是什么…基本上,错误是您试图访问
$subject[5]
,但最高键是4。可能需要替换
$j
for($j=0; $j<$size; $j++)
$j<=$size
$j<$size
foreach($subject as $item){
    //work here
}
$sub= array();
for($j=0; $j<=$size; $j++)
{
    $sub[] = $subject_value[$subject[$j]];
}
$sub= array();
for($j=0; $j<$size; $j++)
{
    $sub[] = $subject_value[$subject[$j]];
}