过年了,还得麻烦大家:) 我把需要删除的记录的id号放在一个数组里,用的是文本数据库,该怎么实现删除操作。我写的循环有问题。

ILOVEPHP 2004-01-17 10:47:57
<?
$data=file("ziliao.txt");
$check = $_POST['chkbox'];
for ($i=0;$i<count($data);$i++)
{
foreach ($check as $key => $value) //这个循环有问题,我不晓得怎么来实现
{$one_data=explode("|",$data[$i]);
if($one_data[0]<>$value)
{$save_data.="$data[$i]"; }
}

}

$fd = fopen("ziliao.txt","w");
fwrite($fd,$save_data);
fclose($fd);
}
?>
...全文
54 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ILOVEPHP 2004-01-27
  • 打赏
  • 举报
回复
xuzuning(唠叨) 兄 接分咯~~~
ccterran 2004-01-25
  • 打赏
  • 举报
回复
他好像不小心写错了
if(! in_array(in_array(strtok($data[$i],"|"),$check)) {
$save_data.= $data[$i];
}
应该是
if(! in_array(strtok($data[$i],"|"),$check)) {
$save_data.= $data[$i];
}
ILOVEPHP 2004-01-25
  • 打赏
  • 举报
回复
to:xuzuning(唠叨) 兄
我用了你的方法怎么一条记录都删不掉啊?
for ($i=0;$i<count($data);$i++) {
$one_data=explode("|",$data[$i]);
if(! in_array($one_data[0],$check))
{
$save_data.= $data[$i];
}
}

xuzuning 2004-01-17
  • 打赏
  • 举报
回复
不要foreach循环

for ($i=0;$i<count($data);$i++) {
$one_data=explode("|",$data[$i]);
if(! in_array($one_data[0],$check)) {
$save_data.= $data[$i];
}
}

因为你的id在第一列,所以还可简化成
for ($i=0;$i<count($data);$i++) {
if(! in_array(in_array(strtok($data[$i],"|"),$check)) {
$save_data.= $data[$i];
}
}
神鹰 2004-01-17
  • 打赏
  • 举报
回复
循环应该没有问题,你把数据打印出来看看吧
print_r($data);
print_r($check);
print_r($save_data);
看看在什么地方出了错

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧