And it does not update even if the value is different from the current value.
According to the man page, $selector can be a string, too,
$selector (string|array) (Required) The sub field name or key, or an array of ancestors and row numbers.
$value (mixed) (Required) The new value.
$post_id (mixed) (Optional) The post ID where the value is saved. Defaults to the current post.
Welcome to the Advanced Custom Fields community forum.
Browse through ideas, snippets of code, questions and answers between fellow ACF users