foreach ( $list as $key => $val ) {
if($key == 5){
$tad = "123";
}
}
限定了$key == 5才显示$tad,但实际前端每个key都会显示$tad
这是为什么
你看下你是想要这样的结果嘛
你是不是操作的都是同一个对象,也就是你列表元素是浅拷贝
当$key == 5 时会赋值 $tad='123';
所有输出时候都会有
建议
foreach ( $list as $key => $val ) {
if($key == 5){
$val['tad'] = "123";
}else{
$val['tad'] = '';
}
}
这样前端 输出 $val['tad'] 即可
foreach ( $list as $key => $val ) {
if($key == 5){
$tad = "123";
}
}
这样写的时候 只要key中存在5,最终$tad必然为123
当$key == 5 时会赋值 $tad='123';
$arr = array();
foreach ( $list as $key => $val ) {
if($key == 5){
$arr['tad'] = "123";
}else{
$arr['tad'] = $key.'不等于5';
}
}
print_r($arr);exit;
这样可能看的更加直观一些希望采纳求币下个东西