修改数组中的数组


Modifying an array inside an array

所以我需要修改memcached键值对中的数组。我需要移除数组中的一个数组。它的外观示例:

array(2) { [0]=> array(3) { ["username"]=> string(3) "Bob" ["id"]=> string(5) "14537" ["comment"]=> string(4) "cool"} [1]=> array(3) { ["username"]=> string(3) "Tom" ["id"]=> string(5) "14538" ["comment"]=> string(3) "yes"}}

如果我知道username、id和comment的值,我该如何删除它?一般问题:如何删除数组0?

考虑到做foreach循环的答案,我尝试了

foreach($memcachedarray as $f){
  if ($f['id'] == '14537'){
    echo key($f);
  }
}

但它吐出username

编辑-确定

我搜索了更多,发现我需要这样做:

foreach($memcachedarray as $key => $f){
if ($f['id'] == '14537'){
echo $key;
}
}

真管用!

如果Id在整个系统中是唯一的,那么您可以使用关联数组来存储数据,然后取消设置键,否则您需要使用foreach循环来获取数组键,然后取消该键并将新数组重新提交到memcache中。