您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

php中数组中某个键值为空的时候,不加入到数组

2025/11/30 14:19:43发布31次查看
$data = array(); if (!empty($_post['field_id'])) { foreach ($_post['field_id'] as $k => $v) { $data[] = array( 'field_id' => $v, 'choice' => isset($_post['choice'][$k]) ? $_post['choice'][$k] : '', 'uid' => $_post['uid'], 'game_id' => $_post['game_id'], 'server_id' => $_post['server_id'] ); } }
这是我循环格式化的地方,下面是输出的数组数据
array( [0] => array ( [field_id] => 1 [choice] => 0 [uid] => 110000110 [game_id] => 2 [server_id] => 2 ) [1] => array ( [field_id] => 2 [choice] => 0 [uid] => 110000110 [game_id] => 2 [server_id] => 2 ) [2] => array ( [field_id] => 3 [choice] => 1 [uid] => 110000110 [game_id] => 2 [server_id] => 2 ))
当choiece等于空的时候 [choice] =>没有值的时候不加入到data数组里面怎么实现呢?
回复讨论(解决方案) [1] => array
(
[field_id] => 2
[choice] =>
[uid] => 110000110
[game_id] => 2
[server_id] => 2
)
像这样的情况,0和1是有值的。
你示例的数据中并没有 [choice] => 的情况
如果有的话,是仅不要 choice 项,还是整组都不要?
你对 $_post['choice'] 循环,不是比对 $_post['field_id'] 循环等容易点吗?
你示例的数据中并没有 [choice] => 的情况
如果有的话,是仅不要 choice 项,还是整组都不要?
你对 $_post['choice'] 循环,不是比对 $_post['field_id'] 循环等容易点吗?
array
(
[0] => array
(
[field_id] => 1
[choice] => 0
[uid] => 110000110
[game_id] => 2
[server_id] => 2
)
[1] => array
(
[field_id] => 2
[choice] =>
[uid] => 110000110
[game_id] => 2
[server_id] => 2
)
[2] => array
(
[field_id] => 3
[choice] =>
[uid] => 110000110
[game_id] => 2
[server_id] => 2
)
)
大概就是这样一个效果,没有值的就不要了,显示成这样
array
(
[0] => array
(
[field_id] => 1
[choice] => 0
[uid] => 110000110
[game_id] => 2
[server_id] => 2
)
)
只有choice没有值的就整个数组都不要了。
$data = array();if (!empty($_post['field_id'])) { foreach ($_post['choice'] as $k => $v) { if($v == '') continue; $data[] = array( 'field_id' => $_post['field_id'][$k], 'choice' => $_post['choice'][$k], 'uid' => $_post['uid'], 'game_id' => $_post['game_id'], 'server_id' => $_post['server_id'] ); } }

$data = array();if (!empty($_post['field_id'])) { foreach ($_post['choice'] as $k => $v) { if($v == '') continue; $data[] = array( 'field_id' => $_post['field_id'][$k], 'choice' => $_post['choice'][$k], 'uid' => $_post['uid'], 'game_id' => $_post['game_id'], 'server_id' => $_post['server_id'] ); } }

谢谢版主,不过我下面用的批量添加的时候,如果已经选择过了的会提示失败,tp里面addall怎么判断是否已经添加过了呢
$choice=d('myselect'); //$choices=$choice->addall($data); if($choice->addall($data)){ $back['status']='success'; $back['msg']='您的投注已经成功!'; $back['url']='game'; $this->back($back); }else{ $back['status']='error'; $back['msg']='投注失败!别重复下注哦!'; $back['url']='game'; $this->back($back); exit; } }
if($choice->addall($data,array(),true)){}看了下mod默认是false,改成true会一直改变数据库的值,那就没有意义了
if($choice->addall($data,array(),false)){}这种情况怎么判断是否已经存在数据库了呢,各位前辈有什么好的办法吗?
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product