我必须删除一个数组的密钥 在另一个数组中没有,比如
/**
* I Have This Array, With Keys
* Name, Lastname, Date
*/
$Array = Array( 'name' => 'Mike', 'lastname' => 'Griggs', 'date' => strftime( '%A %c' ) );
/**
* And The Split , Make This One Array
*/
$Fields = 'name, lastname';
foreach( split( ',', str_replace( ' ', NULL, $Fields ) ) as $Index => $Field ):
if(!array_key_exists( $Field, split( ',', str_replace( ' ', NULL, $Fields )))):
unset( $Array[$Field] );
endif;
endforeach;
print_r( $Array );
/**
* i Have to Remove The Elements of $Array
* That Not Have in $Fields, In This Case, Unset 'date' From $array
*/
但是重新编制数组中的日期字段 我需要从数组中取消$ Fields中没有的键, 如果数组中没有名称,则仅返回LastName ..
谢谢[]的
答案 0 :(得分:0)
您应该考虑用正确的英语形成问题。主要是因为用户会批评它而不是回答它或完全忽略它。
话虽这么说,我假设你有一个数组和一个逗号分隔索引的字符串。然后你想通过删除额外的数据来“清理”你的数组。
以下是有关如何执行此操作的示例:
<?php
$array = Array( 'name' => 'Mike', 'lastname' => 'Griggs', 'date' => strftime( '%A %c' ) );
$fields = 'name, lastname';
function removeIndex($a,$f){
$f=explode(',',$f);
$b=array();
foreach($f as $v){
$v=trim($v);// only need if you have extra whitespace
$b[$v]=$a[$v];
}
return $b;
}
$array=removeIndex($array,$fields);
print_r($array);
?>