注意:将爆炸分配给列表时未定义的偏移量
Notice: Undefined offset while assigning explode to a list
我正在尝试从逗号分隔的列表中获取一个值,因为我使用了 explode()
方法,但它仅在某些情况下有效,仅在其他情况下它会发出通知,例如:
Notice: Undefined offset
我的代码:
案例 1(正常工作):
$permission = 1,2,3,4,5 ; // this is fetching values from database
list($p1, $p2,$p3,$p4,$p5) = explode(',', $permission);
echo $p1. "</BR>".$p2. "</BR>".$p3. "</BR>".$p4. "</BR>".$p5 ;
输出:
1 2 3 4 5
情况 2(注意:未定义的偏移量:4 和注意:未定义的偏移量:3):
$permission = 1,2,3 ;// this is fetching values from database
list($p1, $p2,$p3,$p4,$p5) = explode(',', $permission);
echo $p1. "</BR>".$p2. "</BR>".$p3. "</BR>".$p4. "</BR>".$p5 ;
输出:
1 2 3 with (Notice: Undefined offset: 4 and Notice: Undefined offset: 3)
如何克服这个通知。或者我的方法本身就是错误的。
还有什么好的方法吗?
这是因为它无法在列表中的每个变量中保存一个值,因为您的字符串只有 2 个逗号 == 3 个值。
所以要解决这个问题,只需将其保存在一个数组中并循环遍历该数组,如下所示:
$arr = explode(',', $permission);
foreach($arr as $v)
echo $v . "<br>";
在你的第二个例子中,你只有三个值从数据库中返回 - 但你试图设置 5
我正在尝试从逗号分隔的列表中获取一个值,因为我使用了 explode()
方法,但它仅在某些情况下有效,仅在其他情况下它会发出通知,例如:
Notice: Undefined offset
我的代码:
案例 1(正常工作):
$permission = 1,2,3,4,5 ; // this is fetching values from database
list($p1, $p2,$p3,$p4,$p5) = explode(',', $permission);
echo $p1. "</BR>".$p2. "</BR>".$p3. "</BR>".$p4. "</BR>".$p5 ;
输出:
1 2 3 4 5
情况 2(注意:未定义的偏移量:4 和注意:未定义的偏移量:3):
$permission = 1,2,3 ;// this is fetching values from database
list($p1, $p2,$p3,$p4,$p5) = explode(',', $permission);
echo $p1. "</BR>".$p2. "</BR>".$p3. "</BR>".$p4. "</BR>".$p5 ;
输出:
1 2 3 with (Notice: Undefined offset: 4 and Notice: Undefined offset: 3)
如何克服这个通知。或者我的方法本身就是错误的。
还有什么好的方法吗?
这是因为它无法在列表中的每个变量中保存一个值,因为您的字符串只有 2 个逗号 == 3 个值。
所以要解决这个问题,只需将其保存在一个数组中并循环遍历该数组,如下所示:
$arr = explode(',', $permission);
foreach($arr as $v)
echo $v . "<br>";
在你的第二个例子中,你只有三个值从数据库中返回 - 但你试图设置 5