私はこれを単一の機能で実行したいと考えています。キー=>値のペアを配列に追加または削除するにはどうすればいいですか?
私は、キー=>値のペアを持っている:
14=>1
私はそのような多くのペアを含む配列を持っている:
array(15=>2, 16=>7, 4=>9)
私は、キー=>値のペアを追加する機能が欲しいです既に存在していない場合は配列を返しますが、配列がすでに存在する場合は配列から配列を削除します。
私はこれのための単一の機能を持ちたいと思います。
私はこれを単一の機能で実行したいと考えています。キー=>値のペアを配列に追加または削除するにはどうすればいいですか?
私は、キー=>値のペアを持っている:
14=>1
私はそのような多くのペアを含む配列を持っている:
array(15=>2, 16=>7, 4=>9)
私は、キー=>値のペアを追加する機能が欲しいです既に存在していない場合は配列を返しますが、配列がすでに存在する場合は配列から配列を削除します。
私はこれのための単一の機能を持ちたいと思います。
function updateArray($array, $findKey, $findValue) {
foreach($array as $key => $value) {
if ($key == $findKey AND $value == $findValue) {
unset($array[$key]);
return $array;
}
}
$array[$findKey] = $findValue;
return $array;
}
私に聞こえる音です。
function yourSpecialFunctionRenameMe(&$array, $key, $value){
if(array_key_exists($array, $key) && $array[$key] == $value){
$array[$key] = $value;
}else{
unset($array[$key]);
}
}
function add_or_remove(&$array, $key, $value) {
// remove key/value pairs if they're both identical
if (array_key_exists($key, $array)
&& $array[$key] == $value) {
unset($array[$key]);
// add new key/value pair
// OR modify the value for existing key
} else {
$array[$key] = $value;
}
}
function add_or_remove_key_value_pair(&$array, $key, $value){
if ($key == array_search($value, $array))
unset($array[$key]);
else
$array[$key] = $value;
}
テスト:
$array = array(15=>2, 16=>7, 4=>9);
add_or_remove_key_value_pair($array, 15, 2);// 15=>2 will be removed
add_or_remove_key_value_pair($array, 14, 1);// 14=>1 will be added
var_dump($array);
出力:
array(3) {
[16]=> int(7)
[4]=> int(9)
[14]=> int(1)
}
キーが存在するが、値が異なる場合、結果である必要がありますか? – Toto
@ M42キー=>値のペアを追加します。キーと値の両方が挿入しようとしているものと同じである場合にのみ削除します。 –