关于更新数组问题

关于更新数组问题

按照老师的代码要求,

$update = array(

'name' => $name,

'price' => $price,

'des' => $des,

'content' => $content

);

foreach($update as $k => $v){

if ($goodInfo[$k] == $v) {

unset($update[$k]);

}

}

我只修改了画品名字,但是打印打印变量后出现了两条记录

http://img1.sycdn.imooc.com//climg/5a1a9b3b0001f83a13660093.jpg

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

您好,从您目前的代码来看您的$update就是一个一维数组。foreach处理以后,您只做了unset其中某个元素的处理,另外您的$goodinfo数组具体是什么我们无法判断,不能够为您找到问题所在,您需要把所有相关代码复制粘贴上来才能为您调试。

  • 动感光波挡不住 提问者 #1
    include_once 'lib/fun.php'; if (!checkLogin()) { msg(2,'请先登录', 'login.php'); } $user = $_SESSION['user']; if (!empty($_POST['name'])) { $conn = mysqliInit('localhost', 'root', 'root', 'mall', 'utf8'); //商品id if (!$goodId = intval($_POST['goodId'])) { msg(2, '非法进入', 'index.php'); } //根据商品id查询商品是否存在(画品id通过隐藏域传递,有可能被更改) $sql = "SELECT * FROM `m_goods` WHERE `id` = {$goodId}"; $result = mysqli_query($conn,$sql); $goodInfo = mysqli_fetch_array($result,MYSQLI_ASSOC); //如果画品信息为空跳转至首页 if (empty($goodInfo)) { msg(2,'商品不存在', 'index.php'); } //画品名称 $name = mysqli_real_escape_string($conn, trim($_POST['name'])) ; //价格 $price = intval($_POST['price']); //简介 $des = mysqli_real_escape_string($conn, trim($_POST['des'])); //详情 $content = mysqli_real_escape_string($conn, trim($_POST['content'])); //发布人id $userId = $user['id']; //将更新的内容存入updata数组中 $update = array( 'name' => $name, 'price' => $price, 'des' => $des, 'content' => $content ); //当用户更改图片信息时才进行上传图片处理 if ($_FILES['file']['size']>0) { $pic = imgUpload($_FILES['file']); $updata['pic'] = $pic; } //仅更新用户修改过的信息 foreach($update as $k => $v){ if ($goodInfo[$k] == $v) { unset($update[$k]); } } var_dump($update);die; } }else{ msg(2,'路由非法!', 'index.php'); }
    2017-11-27 19:20:24
  • 动感光波挡不住 提问者 #2
    问题已解决
    2017-11-27 19:43:27
好帮手慕查理 2017-11-27 13:47:16

您好,请您具体描述下您打印是什么变量?另请您反馈更详细的代码,以便帮助您解决问题。祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师