如果我有以下数组:
array(
'var1' => 123,
'var2' => 234,
'var3' => 345
);
我想提取这个的特定部分来构建一个新的数组,即var1和var3。
我想要的结果是:
array(
'var1' => 123,
'var3' => 345
);
发布的示例非常简单,实际上阵列有更多的键,我希望提取更多的键,也可能有一些键可能存在。
是否有内置的php函数来执行此操作?
编辑:
要提取的键将被硬编码为类i..e $ this-> keysToExtract
中的数组答案 0 :(得分:3)
$result = array_intersect_key($yourarray,array_flip(array('var1','var3')));
所以,通过编辑:
$result = array_intersect_key($yourarray,array_flip($this->keysToExtract));
答案 1 :(得分:0)
您不需要内置函数来执行此操作,请尝试以下操作:
$this->keysToExtract = array('var1', 'var3'); // The keys you wish to transfer to the new array
// For each record in your initial array
foreach ($firstArray as $key => $value)
{
// If the key (ex : 'var1') is part of the desired keys
if (in_array($key, $this->keysToExtract)
{
$finalArray[$key] = $value; // Add to the new array
}
}
var_dump($finalArray);
请注意,这很可能是最有效的方法。