我想验证一个数组是否具有并且只有“a”、“b”和“c”作为关联键,并且值是整数或 NULL 或 0(更容易)。
例如,array('a'=>123,'b'=>'abc', 'd'=>321)
应转换为array('a'=>123,'b'=>0, 'c'=>0)
.
我可以做类似下面的事情,但它有点难以阅读,如果我不只是有 3 个元素而是 300 个元素,它会变得很大。
$newArr=array(
'a'=>(isset($arr['a']))?(int)$arr['a']:0,
'b'=>(isset($arr['b']))?(int)$arr['b']:0,
'c'=>(isset($arr['c']))?(int)$arr['c']:0
);
另一种选择类似于以下内容:
$newArr=array();
foreach (array('a','b','c') as $key)
{
$newArr[$key]=(isset($arr[$key]))?(int)$arr[$key]:0;
}
我想这已经足够好了,但是,我很好奇是否有一些我不知道的光滑的数组转换功能会更好。有什么建议吗?谢谢