循环把数组各元素值取出来,用表格以一行一个元素值的格式列出来,我想点击各行的修改以更新数组中的相应元素值.再重新生成新的$strArray数组.同样点击各行的删除以删除相应的元素值.再重新生成新的$strArray数组.注:各行的修改和删除的链接有数组的元素键值和元素值作为参数传递.我自己的做法是:---------a.php文件的CODE--------<?php$strArray = array("首页","博客","游戏","下载","音乐");foreach ($strArray as $key => $value){ echo "<tr><td>".$key."</td><td>".$value."</td><td><a href='b.php?action=a1&id=".$key."&text=".$value."'>修改</a> | <a href='b.php?action=a2&id=".$key."&text=".$value."'>删除</a></td></tr>";}?>-----------b.php文件的CODE-----------$strArray = array("首页","博客","游戏","下载","音乐");$id = $_REQUEST("id");$text = $_REQUEST("text");switch($_GET("action")){ case "a1": echo "<form action='b.php?action=a3'><input name='text' value='".$text."'><input type='hidden' name='id' value='".$id."'><input name='submit' type='submit' value='更新'></form>";break; case "a2": 根据$id来删除$strArray数组中对应键值的元素值,完成后就重新生成数组. 大家帮我完成这部分. break; case "a3": 用户把信息提交到这里,根据提交的$id与数组$strArray的键值对比,如果相同就把数组对应的元素值改变,注:其它的元素值和键位值都不变.完成后就重新生成数组. 大家把这部分帮我完成一下 break;}大家帮我完成余下操作.我额外有悬赏分.我想知道的是,如果改动了数组,怎么生成新的数组比如-----更新操作吧--------$strArray = array("首页","博客","游戏","下载","音乐");数据中的 " 游戏 " 更改为 " GAME ",这样数组就应该变成这样$strArray = array("首页","博客","GAME","下载","音乐");问题就出在这里,怎么在原来数组的情况下生成新的数组出来-----删除操作--------同样的在$strArray = array("首页","博客","游戏","下载","音乐");数组中,如果想删除数组中的 " 游戏 " 哪数组就变成了这样$strArray = array("首页","博客","下载","音乐");同样的问题也是在原来数组的情况下生成新的数组出来大家参与进来吧,我有额外的高悬赏分.
删除数组元素和删除一个变量一样unset($strArray['key']);更新是直接赋值$strArray['key'] = 'new var';=================这种事情我做过, 关键是把 $strArray 放在文件中,以及对这个数组的操作.1.存放,比如放在 strarray.php 中$fp = fopen('strarray.php','w');fwrite($fp,'<?php'."\n".'$strArray = '.var_export($strArray,1).";\n?>");fclose($fp);2. 读取include 'strarray.php';3. 删除unset($strArray['key'])====要注意的是,如果使用函数来做这些操作,strArray是全局变量,在function中要有global $strArray;这句声明我试过使用这个方法来存放经纬度数据,好处是不用xml文件或数据库,速度也非常快
//完成大致如下,如有问题可在次提出来! foreach ($strArray as $key => $value){ $arr[]= $value; if($id == $key){ $arr[$id] = ""; //这个地方写上要修改的值 /*若为空则删除对应的值,若填写新的值将修改前面的所对应的值*/ } } $strArray = $arr; //将新生成的数组符值给旧数组 ------------------------------------------这难道没有吗?你将 $strArray = $arr; 这个地方的数组 $strArray 打印出来看看和之前的是不是不一样了?