PHP,数组操作以获取所有同名的键
我已将此阵列发布到我的控制器:PHP,数组操作以获取所有同名的键,php,arrays,foreach,codeigniter-2,Php,Arrays,Foreach,Codeigniter 2,我已将此阵列发布到我的控制器: Array ( [id] => Array ( [0] => 95 [1] => 69 ) ) 我想: Array( [id] => 95 [id] => 69 ) 当我使用CodeIgniter的$this->db->delete()函数时,它将数组键值作为WHERE子句的列。我目前有以下代码: foreach($ids a
Array
(
[id] => Array
(
[0] => 95
[1] => 69
)
)
我想:
Array(
[id] => 95
[id] => 69
)
当我使用CodeIgniter的$this->db->delete()函数时,它将数组键值作为WHERE子句的列。我目前有以下代码:
foreach($ids as $k => $v){
$formatIds['id'] = $v;
}
这只给了我一排,而不是剩下的
然后我试着:
foreach($ids as $k => $v){
$formatIds['id'][] = $v;
}
但这给了我一个多维数组…您的问题的答案是“不可能”:数组键必须始终是唯一的 您尝试执行的操作的答案是使用
where\u in()
:
为什么要使用损坏的阵列?两个不同的值具有相同的键是没有意义的。我认为你应该改变你的方法。这是不可能的,因为这在逻辑上是毫无意义的。它与关联数组的基本思想相矛盾。
数组([0]=>95[1]=>69)
是可能的;但是不能有多个数组元素具有相同的keyok,因此如果我尝试使用上面在CodeIgniter函数中发布的第一个数组来删除行,它会在查询中尝试类似这样的操作,从表中删除,其中0=95,从表中删除,其中1=69。。。。那么我怎样才能实现我想要的呢
$names = array(95,69);
$this->db->where_in('id', $names);
$this->db->delete('mytable');